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 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, wird 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
- Instanziieren Sie ein neues
GMSGroundOverlay
-Objekt. - Legen Sie das Attribut
icon
auf eine Instanz vonUIImage
fest. - Legen Sie das Attribut
bounds
auf eine Instanz vonGMSCoordinateBounds
fest. Die Begrenzungen stehen für die Südwest- und Nordostecke des Bilds. - Legen Sie bei Bedarf optionale Eigenschaften wie
bearing
undzoomLevel
fest. - 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