地面オーバーレイ

プラットフォームを選択: Android iOS JavaScript

地面オーバーレイは、緯度と経度に紐付けられた地図上のオーバーレイです 地図をドラッグしたりズームしたりすると連動して動きます。

はじめに

地面オーバーレイは、地図に固定されている画像です。高評価を取り消す マーカー: 地面オーバーレイの向きを地表面に対して設定できます。 地図の回転、傾斜、ズームを行うと 方向を指定できます。

地面オーバーレイを追加するには、両方の対象物を定義する GMSGroundOverlay オブジェクトを作成します。 追加する必要がありますどちらも指定しないと、地面オーバーレイが表示されます。 地図上に表示されないようにできます。必要に応じて、構成ミスに応じて 地図上の画像の位置に影響します。ルールを このオブジェクトの map プロパティを設定してオーバーレイを追加します。

オーバーレイの追加

  1. GMSGroundOverlay オブジェクトの新しいインスタンスを生成します。
  2. icon プロパティを UIImage のインスタンスに設定します。
  3. bounds プロパティを GMSCoordinateBounds のインスタンスに設定します。「 bounds は、画像の南西と北東の角を表します。
  4. 必要に応じて、bearingzoomLevel などのオプションのプロパティを設定します。
  5. 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;
      

オーバーレイの削除

オーバーレイを地図から除去するには、 GMSGroundOverlaymap プロパティを 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