カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

GoogleMap Android API v2 使い方#02

この記事は最終更新日から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になって、すごく簡単になりましたね。

この記事がお役に立ちましたらシェアお願いします
4,994 views

コメントは受け付けていません。