地面オーバーレイは、緯度と経度に紐付けられた地図上のオーバーレイです 地図をドラッグしたりズームしたりすると連動して動きます。
はじめに
地面オーバーレイは、地図に固定されている画像です。高評価を取り消す マーカー: 地面オーバーレイの向きを地表面に対して設定できます。 地図の回転、傾斜、ズームを行うと 方向を指定できます。
地面オーバーレイを追加するには、両方の対象物を定義する GMSGroundOverlay
オブジェクトを作成します。
追加する必要がありますどちらも指定しないと、地面オーバーレイが表示されます。
地図上に表示されないようにできます。必要に応じて、構成ミスに応じて
地図上の画像の位置に影響します。ルールを
このオブジェクトの map
プロパティを設定してオーバーレイを追加します。
オーバーレイの追加
GMSGroundOverlay
オブジェクトの新しいインスタンスを生成します。icon
プロパティをUIImage
のインスタンスに設定します。bounds
プロパティをGMSCoordinateBounds
のインスタンスに設定します。「 bounds は、画像の南西と北東の角を表します。- 必要に応じて、
bearing
やzoomLevel
などのオプションのプロパティを設定します。 map
プロパティを設定すると、画像が地図に表示されます。
既存の GMSMapView
オブジェクトに地面オーバーレイを追加する方法を示したコードの例を次に示します。
Swift
let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655) let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544) let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast) // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg let icon = UIImage(named: "newark_nj_1922") let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView
Objective-C
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655); CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544); GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest coordinate:northEast]; // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"]; GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView;
オーバーレイの削除
オーバーレイを地図から除去するには、
GMSGroundOverlay
の map
プロパティを nil
に設定します。または、グループ内のすべてのスペースを
オーバーレイ(
GMSMapView
clear
メソッド。
Swift
mapView.clear()
Objective-C
[mapView clear];
地面オーバーレイを
GMSGroundOverlay
オブジェクトを保持していることを確認します。Google Chat では
後でこのオブジェクトに変更を加え、地面オーバーレイを修正します。
Swift
let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView // ... overlay.isTappable = true
Objective-C
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView; // ... overlay.tappable = YES;
イベント
ユーザーが
オーバーレイします。イベントをリッスンするには、
GMSMapViewDelegate
プロトコル。詳しくは、
イベントのガイドと
GMSMapViewDelegate
。