SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

AndroidでのGoogle APIを使った地図表示

Google AndroidでGPSを利用する

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (53.3 KB)

地図の移動、拡大縮小、モードの切り替え

 先ほど述べたとおり、MapControllerは地図の移動と拡大縮小に使用します。各ボタンをクリックリスナーに関連付ける必要があります。以下はその一例です。

// Set up the button for "Pan East"
mPanE = (Button)findViewById(R.id.pane);
mPanE.setOnClickListener(new OnClickListener(){
   // @Override
   public void onClick(View arg0) {
      panEast();
   }
});

 panEast()関数は、画面サイズの4分の1の幅で地図を動かします。その他の移動も同様に行われます。実際には、タッチスクリーンLCDが搭載されている機器の場合は、この地図だけでドラッグ可能です。タッチスクリーンが搭載されていない機器では、画面上のボタンかパッドの矢印キーを使って地図を動かします。panEast()関数のコードは次のとおりです。

public void panEast() {
   Point pt = new Point(
      mMapView.getMapCenter().getLatitudeE6(),
      mMapView.getMapCenter().getLongitudeE6()
         + mMapView.getLongitudeSpan() / 4);
   mMapView.getController().centerMapTo(pt, true);
   }

 拡大縮小は、MapControllerを通じて現在のズーム倍率を増減させることで簡単に行えます。

public void zoomIn() {
   mMapView.getController().zoomTo(mMapView.getZoomLevel() + 1);
   }

 地図の表示を衛星画像または渋滞状況表示に切り替える機能は、MapViewから直接実現できます。結果を図2および図3に示します。

public void toggleSatellite() {
    mMapView.toggleSatellite();
}

public void toggleTraffic() {
    mMapView.toggleTraffic();
}
図2 衛星画像
図2 衛星画像
図3 衛星画像上での渋滞状況表示
図3 衛星画像上での渋滞状況表示

現在のMapViewの情報を取得する

 MapViewが正しく作成されれば、表示中の画面に関するさまざまな情報を取得できるようになります。表示中の地図のステータスを把握するのに役立つ主な関数を次に示します。

  • getMapCenter ― 地図の中心地点の緯度と経度を返す
  • getLatitudeSpangetLongitudeSpan ― 現在表示されている区域のサイズを返す
  • getZoomLevelgetMaxZoomLevel ― 縮尺レベルを返す(レベルは2倍単位で増減)
  • isSatellite ― 現在の地図の表示が衛星画像モードかどうかをチェックする
  • isTraffic ― 渋滞状況を表示しているかどうかをチェックする
  • isShowMyLocation ― 地図上に現在地が表示されているかどうかをチェックする
  • isStreetView ― 現在の地図表示がストリートビューモードかどうかをチェックする

次のページ
利用者が設定した情報をMapView上に表示する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Chunyen Liu(Chunyen Liu)

世界トップのGPS企業のエンジニアリング部門に在籍。SUN、ACM、IBMの主催するプログラミングコンテストで複数の入賞経験がある。コンピュータサイエンスの上級学位を保有し、The J Makerという個人サイトを運営。このほか、卓球の腕前は競技者レベルであり、アメリカ卓球協会認定の審判員、指導員という一面...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2803 2008/08/07 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング