DOM elements

Classe OverlayView

lezione google.maps.OverlayView

Puoi implementare questa classe se vuoi visualizzare tipi personalizzati di oggetti in overlay sulla mappa.

Eredita da questa classe impostando il prototipo dell'overlay: MyOverlay.prototype = new google.maps.OverlayView();. È garantito che il costruttore OverlayView sia una 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.
Devi chiamare 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 costruzione o in qualsiasi momento successivo, quando l'overlay deve essere mostrato nuovamente dopo la rimozione. Il metodo draw() verrà quindi chiamato ogni volta che una proprietà della mappa cambia e potrebbe cambiare la posizione dell'elemento, come lo zoom, il centro o il tipo di mappa.

Questo corso estende MVCObject.

Accesso chiamando const {OverlayView} = await google.maps.importLibrary("maps") o const {OverlayView} = await google.maps.importLibrary("streetView"). Consulta la sezione Librerie nell'API Maps JavaScript.

OverlayView
OverlayView()
Parametri: nessuno
Crea un OverlayView.
preventMapHitsAndGesturesFrom
preventMapHitsAndGesturesFrom(element)
Parametri: 
Valore di restituzione: nessuno
Consente di interrompere gli eventi di clic, tocco, trascinamento e rotazione dell'elemento a partire dalla mappa. Utilizzalo per impedire il trascinamento e lo zoom delle mappe, nonché per gli eventi di "clic" delle mappe.
preventMapHitsFrom
preventMapHitsFrom(element)
Parametri: 
Valore di restituzione: nessuno
Consente di interrompere il clic o il tocco dell'elemento dal gonfiare alla mappa. Utilizzala per impedire che la mappa attivi gli eventi di "clic".
draw
draw()
Parametri: nessuno
Valore di restituzione: nessuno
Implementa questo metodo per disegnare o aggiornare l'overlay. Utilizza la posizione di proiezione.fromLatLngToDivPixel() per posizionare correttamente l'overlay rispetto ai MapPanes. Questo metodo viene richiamato dopo onAdd() e viene modificato al momento dello zoom o del centro. Non è consigliabile eseguire lavori di calcolo in questo metodo.
getMap
getMap()
Parametri: nessuno
Valore restituito:  Map|StreetViewPanorama
getPanes
getPanes()
Parametri: nessuno
Valore restituito:  MapPanes|null
Restituisce i riquadri in cui è possibile eseguire il rendering di questa visualizzazione overlay. I riquadri non vengono inizializzati finché onAdd non viene chiamato dall'API.
getProjection
getProjection()
Parametri: nessuno
Valore restituito:  MapCanvasProjection
Restituisce l'oggetto MapCanvasProjection associato a questo OverlayView. La proiezione viene inizializzata solo quando onAdd viene chiamato dall'API.
onAdd
onAdd()
Parametri: nessuno
Valore di restituzione: nessuno
Implementa questo metodo per inizializzare gli elementi DOM in overlay. Questo metodo viene richiamato una volta dopo aver impostato setMap() con una mappa valida. A questo punto, i riquadri e la proiezione saranno stati inizializzati.
onRemove
onRemove()
Parametri: nessuno
Valore di restituzione: nessuno
Implementa 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 di restituzione: nessuno
Aggiunge l'overlay alla mappa o al panorama.
Ereditata: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Interfaccia di MapPanes

google.maps.MapPanes interfaccia

floatPane
Tipo:  Element
Questo riquadro contiene la finestra informativa. Sopra ogni overlay di mappa. (Pane 4).
mapPane
Tipo:  Element
Si tratta del riquadro più in basso e si trova sopra i riquadri. Non riceve eventi DOM. (Pane 0).
markerLayer
Tipo:  Element
Questo riquadro contiene degli indicatori. Non riceve eventi DOM. (Pane 2).
overlayLayer
Tipo:  Element
Questo riquadro contiene le polilinee, i poligoni, gli overlay del suolo e gli overlay del livello dei riquadri. Non riceve eventi DOM. (Pane 1).
overlayMouseTarget
Tipo:  Element
Questo riquadro contiene gli elementi che ricevono gli eventi DOM. (Pane 3).

Interfaccia di MapCanvasProjection

google.maps.MapCanvasProjection interfaccia

Questo oggetto viene reso disponibile a OverlayView dal metodo di disegno. Non è garantito che venga inizializzata fino a quando non viene richiamata l'estrazione.

fromContainerPixelToLatLng
fromContainerPixelToLatLng(pixel[, noClampNoWrap])
Parametri: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
Valore restituito:  LatLng|null
Calcola le coordinate geografiche dalle coordinate del pixel nel contenitore della mappa.
fromDivPixelToLatLng
fromDivPixelToLatLng(pixel[, noClampNoWrap])
Parametri: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
Valore restituito:  LatLng|null
Calcola le coordinate geografiche dalle coordinate del pixel nel div che contiene la mappa trascinabile
fromLatLngToContainerPixel
fromLatLngToContainerPixel(latLng)
Parametri: 
Valore restituito:  Point|null
Calcola le coordinate in pixel della posizione geografica specificata nell'elemento contenitore della mappa.
fromLatLngToDivPixel
fromLatLngToDivPixel(latLng)
Parametri: 
Valore restituito:  Point|null
Calcola le coordinate in pixel della posizione geografica specificata nell'elemento DOM che contiene la mappa trascinabile.
getVisibleRegion
getVisibleRegion()
Parametri: nessuno
Valore restituito:  VisibleRegion|null
L'area visibile della mappa. Restituisce null se la mappa non ha dimensioni. Restituisce null se OverlayView si trova in una StreetViewPanorama.
getWorldWidth
getWorldWidth()
Parametri: nessuno
Valore restituito:  number
La larghezza del mondo in pixel nel livello di zoom corrente. Per le proiezioni con un angolo di intestazione di 90 o 270 gradi, ciò corrisponde all'intervallo di pixel nell'asse Y.