- Android
- 2014-08-18 - 更新:2014-08-28
この記事は最終更新日から1年以上経過しています。
今回は、マーカー表示と円の描画方法についてご紹介します。
GoogleMap Android API v2では、マーカーや円を描く等、
v1よりも格段にやり易くなっています。
マーカーを表示する
必要なインポートは以下の通りです。
import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.LatLng;
マーカーを追加。
GoogleMapのオブジェクト(mMap)は作成済とします。
Marker mMarker = mMap.addMarker(new MarkerOptions() .position(LatLng latLng));
マーカーを追加するだけならこれだけです。
次にマーカーのアイコンをカスタマイズする場合。
追加で必要なインポートは以下の通りです。
import com.google.android.gms.maps.model.MarkerOptions; import com.google.android.gms.maps.model.BitmapDescriptor; import com.google.android.gms.maps.model.BitmapDescriptorFactory;
マーカーに使用する画像をリソースから取得します。
png形式で作成し、res/drawableディレクトリに追加しておいてください。
BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.ic_maps_indicator_current_position);
マーカーに座標と一緒にアイコンを指定し、作成します。
Marker mMarker = mMap.addMarker(new MarkerOptions() .position(LatLng latLng) .icon(icon));
名前 | 説明 | データ型 |
---|---|---|
alpha | マーカーアイコンの透明度 | float |
draggable | ドラッグの可否 | boolean |
snippet | タイトルの下に表示される追加テキスト | String |
title | InfoWindowのタイトル | String |
visible | マーカー表示の可否 | boolean |
titleを設定すると、マーカーをタップした際、
自動的にInfoWindowが表示されるようになります。
地図上に円を描く
必要なインポートは以下の通りです。
import com.google.android.gms.maps.model.Circle; import com.google.android.gms.maps.model.CircleOptions; import com.google.android.gms.maps.model.LatLng;
まずは描く円のオプションとして、座標と半径(単位:m)を指定し作成します。
CircleOptions circleOptions = new CircleOptions() .center(LatLng center) .radius(double radius);
オプションを引数に渡し、地図に円を追加します。
Circle circle = mMap.addCircle(circleOptions);
円のストローク(線)の色と太さを指定します。
setStrokeWidthの引数はfloatです。
circle.setStrokeColor(Color.argb(0x99, 0x33, 0x99, 0xFF)); circle.setStrokeWidth(10.0f);
円の塗り潰し色を指定します。
Color.argbはalpha,red,green,blueなのでお好みで指定してください。
alphaは透明度なので、0xFFにしてしまうと完全に塗り潰されて、何も見えなくなります。
circle.setFillColor(Color.argb(0x44, 0x33, 0x99, 0xFF));
以上です。
GoogleMap API v2になって、すごく簡単になりましたね。
5,006 views