Classe OverlayView
google.maps.OverlayView
class
extends MVCObject
library "maps", "streetView"
Puoi implementare questa classe se vuoi visualizzare tipi personalizzati di oggetti overlay sulla mappa.
Eredita da questa classe impostando il prototipo dell'overlay: MyOverlay.prototype = new google.maps.OverlayView();. Il costruttore OverlayView è garantito come funzione vuota.
Devi implementare tre metodi: onAdd(), draw() e onRemove().
- Nel metodo
onAdd(), devi creare oggetti DOM e aggiungerli come elementi secondari dei riquadri. - Nel metodo
draw(), devi posizionare questi elementi. - Nel metodo
onRemove(), devi rimuovere gli oggetti dal DOM.
setMap() con un oggetto Map valido per attivare la chiamata al metodo onAdd() e setMap(null) per attivare il metodo onRemove(). Il metodo setMap() può essere chiamato al momento della creazione o in qualsiasi momento successivo, quando l'overlay deve essere mostrato di nuovo dopo la rimozione. Il metodo draw() verrà quindi chiamato ogni volta che cambia una proprietà della mappa che potrebbe modificare la posizione dell'elemento, ad esempio lo zoom, il centro o il tipo di mappa.
const {OverlayView} = await google.maps.importLibrary("maps");
const {OverlayView} = await google.maps.importLibrary("streetView");
Costruttore | |
|---|---|
OverlayView |
OverlayView()Parametri: nessuno
Crea un OverlayView. |
Metodi statici | |
|---|---|
preventMapHitsAndGesturesFrom |
preventMapHitsAndGesturesFrom(element)Parametri:
Valore restituito: nessuno
Impedisce che gli eventi di clic, tocco, trascinamento e rotellina sull'elemento vengano propagati alla mappa. Utilizza questa opzione per impedire il trascinamento e lo zoom della mappa, nonché gli eventi di "clic" sulla mappa. |
preventMapHitsFrom |
preventMapHitsFrom(element)Parametri:
Valore restituito: nessuno
Impedisce che il clic o il tocco sull'elemento si propaghi alla mappa. Utilizza questa opzione per impedire alla mappa di attivare eventi "click". |
Metodi | |
|---|---|
draw |
draw()Parametri: nessuno
Valore restituito:
voidImplementa questo metodo per disegnare o aggiornare l'overlay. Utilizza la posizione di projection.fromLatLngToDivPixel() per posizionare correttamente l'overlay rispetto ai MapPane. Questo metodo viene chiamato dopo onAdd() e viene chiamato in caso di modifica dello zoom o del centro. Non è consigliabile eseguire operazioni con un elevato carico di calcolo in questo metodo. |
getMap |
getMap()Parametri: nessuno
Valore restituito:
Map|StreetViewPanorama |
getPanes |
getPanes()Parametri: nessuno
Valore restituito:
MapPanes|nullRestituisce i riquadri in cui è possibile eseguire il rendering di questo OverlayView. I riquadri non vengono inizializzati finché onAdd non viene chiamato dall'API. |
getProjection |
getProjection()Parametri: nessuno
Valore restituito:
MapCanvasProjectionRestituisce l'oggetto MapCanvasProjection associato a questo OverlayView. La proiezione non viene inizializzata finché l'API non chiama onAdd. |
onAdd |
onAdd()Parametri: nessuno
Valore restituito:
voidImplementa questo metodo per inizializzare gli elementi DOM dell'overlay. Questo metodo viene chiamato una volta dopo che setMap() è stato chiamato con una mappa valida. A questo punto, i riquadri e la proiezione saranno stati inizializzati. |
onRemove |
onRemove()Parametri: nessuno
Valore restituito:
voidImplementa questo metodo per rimuovere gli elementi dal DOM. Questo metodo viene chiamato una volta dopo una chiamata a setMap(null). |
setMap |
setMap(map)Parametri:
Valore restituito: nessuno
Aggiunge l'overlay alla mappa o alla panoramica. |
Ereditate:
addListener,
bindTo,
get,
notify,
set,
setValues,
unbind,
unbindAll
| |
Interfaccia MapPanes
Interfaccia google.maps.MapPanes
Proprietà | |
|---|---|
floatPane |
Tipo:
ElementQuesto riquadro contiene la finestra informativa. Si trova sopra tutti gli overlay mappa. (Riquadro 4). |
mapPane |
Tipo:
ElementQuesto riquadro è il più basso e si trova sopra i riquadri. Non riceve eventi DOM. (Riquadro 0). |
markerLayer |
Tipo:
ElementQuesto riquadro contiene indicatori. Non riceve eventi DOM. (Riquadro 2). |
overlayLayer |
Tipo:
ElementQuesto riquadro contiene polilinee, poligoni, overlay del terreno e overlay di livelli di riquadri. Non riceve eventi DOM. (Riquadro 1). |
overlayMouseTarget |
Tipo:
ElementQuesto riquadro contiene elementi che ricevono eventi DOM. (Riquadro 3). |
Interfaccia MapCanvasProjection
Interfaccia google.maps.MapCanvasProjection
Questo oggetto viene reso disponibile per OverlayView dall'interno del metodo draw. Non è garantito che venga inizializzato finché non viene chiamato draw.
Metodi | |
|---|---|
fromContainerPixelToLatLng |
fromContainerPixelToLatLng(pixel[, noClampNoWrap])Parametri:
Valore restituito:
LatLng|nullCalcola le coordinate geografiche dalle coordinate pixel nel container della mappa. |
fromDivPixelToLatLng |
fromDivPixelToLatLng(pixel[, noClampNoWrap])Parametri:
Valore restituito:
LatLng|nullCalcola le coordinate geografiche dalle coordinate pixel nel div che contiene la mappa trascinabile. |
fromLatLngToContainerPixel |
fromLatLngToContainerPixel(latLng)Parametri:
Valore restituito:
Point|nullCalcola le coordinate pixel della posizione geografica specificata nell'elemento contenitore della mappa. |
fromLatLngToDivPixel |
fromLatLngToDivPixel(latLng)Parametri:
Valore restituito:
Point|nullCalcola le coordinate pixel della posizione geografica specificata nell'elemento DOM che contiene la mappa trascinabile. |
getVisibleRegion |
getVisibleRegion()Parametri: nessuno
Valore restituito:
VisibleRegion|nullLa regione visibile della mappa. Restituisce null se la mappa non ha dimensioni. Restituisce null se OverlayView si trova su un oggetto StreetViewPanorama. |
getWorldWidth |
getWorldWidth()Parametri: nessuno
Valore restituito:
numberLa larghezza del mondo in pixel nel livello di zoom corrente. Per le proiezioni con un angolo di direzione di 90 o 270 gradi, questo valore corrisponde all'intervallo di pixel nell'asse Y. |