2013/03/22

画像をオーバーレイ表示する - [開発] - Google Maps SDK for iOS

地図上に任意の画像を重ねて描画する。
現代の地図の上に、昔の地図などを重ねて表示する際に利用する機能だ。
地図上に画像描画する機能には、マーカーの描画も含まれるがマーカーとオーバーレイでは動作が異なる。


マーカーとして地図上に描画された画像は、地図の拡大縮小に表示サイズは影響されない。また、地図の傾斜にも影響されない。
しかし、オーバーレイの場合は、表示された地図に拡縮も傾斜も従う。

1. オーバーレイを追加

オーバーレイの追加には、GMSGroundOverlayOptionsを利用する。
icon変数に表示する画像のUIImageを設定する。
positionには表示座標としてCLLocationCoordinate2Dの値を設定する。
bearingには北の角度を設定する。デフォルトでは0となり、0から359.9の範囲で指定する。
zoomLevelには表示サイズを指定する。

GMSGroundOverlayOptions *overlayOptions = [GMSGroundOverlayOptions options];
overlayOptions.icon = [UIImage imageNamed:@"overlayview"];
CLLocationCoordinate2D tokyotower = CLLocationCoordinate2DMake(35.658599, 139.745443);
overlayOptions.position = tokyotower;
overlayOptions.bearing = 0;
overlayOptions.zoomLevel = 15.6;
[mapView_ addGroundOverlayWithOptions:overlayOptions];

2. オーバーレイを削除

追加したオーバーレイを地図上から削除する場合は、マーカー同様に二通りある。
オーバーレイを単体で削除する方法と地図上のオブジェクトを全て削除する方法だ。

地図上のオーバーレイを単体で削除する。
GMSGroundOverlayのremoveメソッドを利用する。

id overlayOptions = [mapView_ addGroundOverlayWithOptions:overlayOptions];
...
[overlayOptions remove];


地図上の全てのオブジェクトを削除する。
GMSMapViewのclearメソッドを利用する。この方法ではオーバーレイの他にマーカーやポリラインまで全て削除されるので注意が必要だ。

[mapView_ clear];

Related Posts Plugin for WordPress, Blogger...

0 件のコメント:

コメントを投稿