OverlayView-Klasse
google.maps.OverlayView
class
extends MVCObject
library "maps", "streetView"
Diese Klasse können Sie implementieren, wenn Sie benutzerdefinierte Typen von Overlay-Objekten auf der Karte anzeigen möchten.
Sie können von dieser Klasse erben, indem Sie den Prototyp des Overlays festlegen: MyOverlay.prototype = new google.maps.OverlayView();. Der OverlayView-Konstruktor ist garantiert eine leere Funktion.
Sie müssen drei Methoden implementieren: onAdd(), draw() und onRemove().
- In der Methode
onAdd()sollten Sie DOM-Objekte erstellen und sie als untergeordnete Elemente der Bereiche anhängen. - In der Methode
draw()sollten Sie diese Elemente positionieren. - In der Methode
onRemove()sollten Sie die Objekte aus dem DOM entfernen.
setMap() mit einem gültigen Map-Objekt aufrufen, um den Aufruf der Methode onAdd() auszulösen, und setMap(null), um die Methode onRemove() auszulösen. Die Methode setMap() kann beim Erstellen oder jederzeit danach aufgerufen werden, wenn das Overlay nach dem Entfernen wieder angezeigt werden soll. Die Methode draw() wird dann immer aufgerufen, wenn sich eine Karteneigenschaft ändert, die die Position des Elements beeinflussen könnte, z. B. Zoom, Mittelpunkt oder Kartentyp.
const {OverlayView} = await google.maps.importLibrary("maps");
const {OverlayView} = await google.maps.importLibrary("streetView");
Konstruktor | |
|---|---|
OverlayView |
OverlayView()Parameter: Keine
Erstellt einen OverlayView. |
Statische Methoden | |
|---|---|
preventMapHitsAndGesturesFrom |
preventMapHitsAndGesturesFrom(element)Parameter:
Rückgabewert: Keiner
Verhindert, dass Klick-, Tipp-, Zieh- und Mausrad-Ereignisse für das Element auf die Karte übertragen werden. Damit können Sie das Ziehen und Zoomen der Karte sowie Klickereignisse auf der Karte verhindern. |
preventMapHitsFrom |
preventMapHitsFrom(element)Parameter:
Rückgabewert: Keiner
Verhindert, dass ein Klick oder Tippen auf das Element an die Karte weitergegeben wird. Damit wird verhindert, dass die Karte „click“-Ereignisse auslöst. |
Methoden | |
|---|---|
draw |
draw()Parameter: Keine
Rückgabewert:
voidImplementieren Sie diese Methode, um den Overlay zu zeichnen oder zu aktualisieren. Verwenden Sie die Position aus projection.fromLatLngToDivPixel(), um das Overlay relativ zu den MapPanes richtig zu positionieren. Diese Methode wird nach onAdd() aufgerufen, wenn sich die Zoomstufe oder der Mittelpunkt ändert. Es wird nicht empfohlen, in dieser Methode rechenintensive Aufgaben auszuführen. |
getMap |
getMap()Parameter: Keine
Rückgabewert:
Map|StreetViewPanorama |
getPanes |
getPanes()Parameter: Keine
Rückgabewert:
MapPanes|nullGibt die Fenster zurück, in denen dieser Overlay wiedergegeben werden kann. Die Bereiche werden erst initialisiert, wenn onAdd von der API aufgerufen wird. |
getProjection |
getProjection()Parameter: Keine
Rückgabewert:
MapCanvasProjectionGibt das MapCanvasProjection-Objekt zurück, das mit diesem OverlayView verknüpft ist. Die Projektion wird erst initialisiert, wenn onAdd von der API aufgerufen wird. |
onAdd |
onAdd()Parameter: Keine
Rückgabewert:
voidImplementieren Sie diese Methode, um die Overlay-DOM-Elemente zu initialisieren. Diese Methode wird einmal aufgerufen, nachdem setMap() mit einer gültigen Karte aufgerufen wurde. Zu diesem Zeitpunkt sind Fenster und Projektionen bereits initialisiert. |
onRemove |
onRemove()Parameter: Keine
Rückgabewert:
voidImplementieren Sie diese Methode, um Elemente aus dem DOM zu entfernen. Diese Methode wird einmal nach dem Aufrufen von setMap(null) aufgerufen. |
setMap |
setMap(map)Parameter:
Rückgabewert: Keiner
Fügt das Overlay zur Karte oder zum Panorama hinzu. |
Übernommen:
addListener,
bindTo,
get,
notify,
set,
setValues,
unbind,
unbindAll
| |
MapPanes-Schnittstelle
Schnittstelle google.maps.MapPanes
Attribute | |
|---|---|
floatPane |
Typ:
ElementDieses Fenster enthält das Infofenster. Es befindet sich über allen Karten-Overlays. (Fenster 4) |
mapPane |
Typ:
ElementDies ist das unterste Fenster; es befindet sich direkt über den Kacheln. Er empfängt keine DOM-Ereignisse. (Fenster 0) |
markerLayer |
Typ:
ElementDieser Bereich enthält Markierungen. Er empfängt keine DOM-Ereignisse. (Fenster 2) |
overlayLayer |
Typ:
ElementDieses Fenster enthält Polylinien, Polygone, Boden-Overlays und Kachelebenen-Overlays. Er empfängt keine DOM-Ereignisse. (Fenster 1) |
overlayMouseTarget |
Typ:
ElementDieser Bereich enthält Elemente, die DOM-Ereignisse empfangen. (Fenster 3) |
MapCanvasProjection-Schnittstelle
Schnittstelle google.maps.MapCanvasProjection
Dieses Objekt wird dem OverlayView innerhalb der draw-Methode zur Verfügung gestellt. Es besteht keine Garantie, dass es initialisiert wird bis "draw" aufgerufen wird.
Methoden | |
|---|---|
fromContainerPixelToLatLng |
fromContainerPixelToLatLng(pixel[, noClampNoWrap])Parameter:
Rückgabewert:
LatLng|nullBerechnet die geografischen Koordinaten aus den Pixelkoordinaten im Container der Karte. |
fromDivPixelToLatLng |
fromDivPixelToLatLng(pixel[, noClampNoWrap])Parameter:
Rückgabewert:
LatLng|nullBerechnet die geografischen Koordinaten aus den Pixelkoordinaten im div-Element, das die verschiebbare Karte enthält. |
fromLatLngToContainerPixel |
fromLatLngToContainerPixel(latLng)Parameter:
Rückgabewert:
Point|nullBerechnet die Pixelkoordinaten des angegebenen geografischen Standorts im Containerelement der Karte. |
fromLatLngToDivPixel |
fromLatLngToDivPixel(latLng)Parameter:
Rückgabewert:
Point|nullBerechnet die Pixelkoordinaten des angegebenen geografischen Standorts im DOM-Element, das die verschiebbare Karte enthält. |
getVisibleRegion |
getVisibleRegion()Parameter: Keine
Rückgabewert:
VisibleRegion|nullDer sichtbare Bereich der Karte. Gibt null zurück, wenn die Map keine Größe hat. Gibt null zurück, wenn sich die OverlayView auf einem StreetViewPanorama befindet. |
getWorldWidth |
getWorldWidth()Parameter: Keine
Rückgabewert:
numberDie Breite der Welt in Pixeln bei der aktuellen Zoom-Einstellung. Bei Projektionen mit einem Richtungswinkel von 90 oder 270 Grad entspricht dies der Pixelspanne auf der Y-Achse. |