Boden-Overlays

Plattform auswählen: Android iOS JavaScript

Boden-Overlays sind Overlays auf der Karte, die an Breiten- und Längengrad gebunden sind. Koordinaten, sodass sie sich beim Ziehen oder Zoomen der Karte mitbewegen.

Einführung

Ein Boden-Overlay ist ein Bild, das auf einer Karte fixiert ist. „Mag ich“-Bewertung entfernen Markierungen sind Boden-Overlays auf die Erdoberfläche ausgerichtet statt des Bildschirms, sodass sich das Drehen, Neigen oder Zoomen der Karte die Ausrichtung des Bilds.

Um ein Boden-Overlay hinzuzufügen, erstellen Sie ein GMSGroundOverlay-Objekt, das sowohl ein Symbol und Grenzen. Wenn keine der beiden Optionen angegeben wird, führt das dazu, dass das Boden-Overlay nicht auf der Karte erscheinen. Optional können Sie zusätzliche Einstellungen angeben, wirkt sich auf die Positionierung des Bildes auf der Karte aus. Sobald Sie die erforderlich sind, legen Sie die Eigenschaft map dieses Objekts fest, um das Overlay hinzuzufügen.

Overlay hinzufügen

  1. Instanziieren Sie ein neues GMSGroundOverlay-Objekt.
  2. Legen Sie das Attribut icon auf eine Instanz von UIImage fest.
  3. Legen Sie das Attribut bounds auf eine Instanz von GMSCoordinateBounds fest. Die Begrenzungen stehen für die Südwest- und Nordostecke des Bilds.
  4. Legen Sie bei Bedarf optionale Eigenschaften wie bearing und zoomLevel fest.
  5. Lege die map-Eigenschaft fest. Das Bild wird auf der Karte angezeigt.

Im folgenden Beispiel sehen Sie, wie ein Boden-Overlay einem vorhandenen GMSMapView-Objekt hinzugefügt wird:

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;
      

Overlay entfernen

Sie können ein Boden-Overlay von der Karte entfernen, indem Sie map-Property von GMSGroundOverlay auf „nil“ gesetzt. Alternativ können Sie alle (einschließlich Boden-Overlays, die sich derzeit auf der Karte durch Aufrufen der Methode GMSMapView clear-Methode.

Swift

mapView.clear()
      

Objective-C

[mapView clear];
      

Wenn Sie Änderungen an einem Boden-Overlay vornehmen möchten, muss das GMSGroundOverlay-Objekt beibehalten werden. Sie können Boden-Overlay später durch Änderungen an diesem Objekt ändern.

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;
      

Ereignisse

Sie können auf Ereignisse auf der Karte warten, z. B. wenn ein Nutzer auf ein Element tippt -Overlay. Um auf Ereignisse zu warten, müssen Sie den GMSMapViewDelegate-Protokoll. Weitere Informationen finden Sie in der einen Leitfaden zu Ereignissen und die Liste der Methoden in der GMSMapViewDelegate