google map にピンマーカー表示
やり方は
GoogleMap インスタンスを取得
マーカーの表示位置などを格納したMarkerOptions インスタンスを生成
addMarker() でマーカー追加
続いて構文メモ
GoogleMap getMap()
GoogleMap インスタンスを取得
LatLng(double latitude,double longitude)
マーカーの表示位置用インスタンス
MarkerOptions position(LatLng position)
マーカーの表示位置を設定
MarkerOptions title(String title)
マーカーのタイトルを設定
MarkerOptions snippet(String snippet)
マーカーのスニペット設定
MarkerOptions icon(BitmapDescriptar icon)
マーカー上に表示するアイコンを設定
Marker addMarker(MarkerOptions options)
マーカーを追加
そして引数のメモ
latitude
緯度
longitude
経度
position
マーカーの表J位置を示すLatLngインスタンス
title
マーカーのタイトル用文字列
options
マーカー表示用オプション
あと
画面上にピン状マーカーを表示したいのなら
getMap() で
GoogleMap メソッドを取得し
addMarker() でピンの追加をする
マーカーのパラメータは
MarkerOptionsインスタンスを生成して設定する
では実験
サンプルを元にカスタマイズしていく
レイアウトファイルはそのまま使う
使うのは zoom.xml
MainActivity を書き換えるけど
前回作成した東京駅を表示するマップを改造する
setContentView(R.layout.zoom); FragmentManager fragmentManager = getSupportFragmentManager(); SupportMapFragment fragment =(SupportMapFragment)fragmentManager.findFragmentById(R.id.fragmentMap); //google map instance 取得 GoogleMap map = fragment.getMap(); //表示位置の生成(東京駅) LatLng posTokyoStation = new LatLng(35.681382, 139.766084); //東京駅の表示 CameraPosition.Builder builder=new CameraPosition.Builder(); //カメラの表示位置の指定 builder.target(posTokyoStation); //ズームレベル builder.zoom(13.0f); //カメラの向きの指定(北向きなので0) builder.bearing(0); //カメラの傾き設定 builder.tilt(25.0f); //マップの表示位置変更 map.moveCamera(CameraUpdateFactory.newCameraPosition(builder.build()));
はそのまま使い
ピンの追加コードを書いていく
//ピン設定 MarkerOptions options=new MarkerOptions(); //ピンの場所を東京駅にする options.position(posTokyoStation); //マーカーの吹き出しの名前 options.title("東京駅"); //ピンの追加 map.addMarker(options);
基本的にはこれでOK
これでピンをタップすると
東京駅
と表示される
これを応用すればAPIとかと合わせてお店とかできそう