DOM elements

Classe OverlayView

google.maps.OverlayView class
extends MVCObject
library "maps", "streetView"

Vous pouvez implémenter cette classe si vous souhaitez afficher des types personnalisés d'objets de superposition sur la carte.

Héritez de cette classe en définissant le prototype de votre superposition : MyOverlay.prototype = new google.maps.OverlayView();. Le constructeur OverlayView est garanti d'être une fonction vide.

Vous devez implémenter trois méthodes : onAdd(), draw() et onRemove().

  • Dans la méthode onAdd(), vous devez créer des objets DOM et les ajouter en tant qu'enfants des volets.
  • Dans la méthode draw(), vous devez positionner ces éléments.
  • Dans la méthode onRemove(), vous devez supprimer les objets du DOM.
Vous devez appeler setMap() avec un objet Map valide pour déclencher l'appel de la méthode onAdd() et setMap(null) afin de déclencher la méthode onRemove(). La méthode setMap() peut être appelée au moment de la construction ou à tout moment par la suite lorsque la superposition doit être réaffichée après avoir été supprimée. La méthode draw() est ensuite appelée chaque fois qu'une propriété de la carte est modifiée, ce qui peut modifier la position de l'élément (par exemple, le zoom, le centre ou le type de carte).

const {OverlayView} = await google.maps.importLibrary("maps");
ou
const {OverlayView} = await google.maps.importLibrary("streetView");
OverlayView
OverlayView()
Paramètres : aucun
Crée un OverlayView.
preventMapHitsAndGesturesFrom
preventMapHitsAndGesturesFrom(element)
Paramètres :
Valeur renvoyée : aucune
Empêche les événements de clic, d'appui, de déplacement et de molette sur l'élément de se propager à la carte. Utilisez cette option pour empêcher le déplacement et le zoom sur la carte, ainsi que les événements de "clic" sur la carte.
preventMapHitsFrom
preventMapHitsFrom(element)
Paramètres :
Valeur renvoyée : aucune
Empêche le clic ou l'appui sur l'élément de se propager à la carte. Utilisez cette option pour empêcher la carte de déclencher des événements "click".
draw
draw()
Paramètres : aucun
Valeur renvoyée : void
Implémentez cette méthode pour dessiner ou mettre à jour la superposition. Utilisez la position de projection.fromLatLngToDivPixel() pour positionner correctement la superposition par rapport aux MapPanes. Cette méthode est appelée après onAdd(), et est appelée en cas de changement de zoom ou de centre. Il n'est pas recommandé d'effectuer des tâches coûteuses en ressources de calcul dans cette méthode.
getMap
getMap()
Paramètres : aucun
Valeur renvoyée : Map|StreetViewPanorama
getPanes
getPanes()
Paramètres : aucun
Valeur renvoyée : MapPanes|null
Renvoie les volets dans lesquels cet OverlayView peut être affiché. Les volets ne sont pas initialisés tant que onAdd n'est pas appelé par l'API.
getProjection
getProjection()
Paramètres : aucun
Valeur renvoyée : MapCanvasProjection
Renvoie l'objet MapCanvasProjection associé à ce OverlayView. La projection n'est pas initialisée tant que onAdd n'est pas appelé par l'API.
onAdd
onAdd()
Paramètres : aucun
Valeur renvoyée : void
Implémentez cette méthode pour initialiser les éléments DOM de la superposition. Cette méthode est appelée une fois après l'appel de setMap() avec une carte valide. À ce stade, les volets et la projection ont été initialisés.
onRemove
onRemove()
Paramètres : aucun
Valeur renvoyée : void
Implémentez cette méthode pour supprimer vos éléments du DOM. Cette méthode est appelée une fois après un appel à setMap(null).
setMap
setMap(map)
Paramètres :
  • map : Map|StreetViewPanorama optional carte ou panorama. Si la valeur est null, la couche sera supprimée.
Valeur renvoyée : aucune
Ajoute la superposition à la carte ou au panorama.
Héritées : addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

MapPanes

google.maps.MapPanes interface

floatPane
Type : Element
Ce volet contient la fenêtre d'informations. Il se trouve au-dessus de toutes les superpositions de la carte (volet 4).
mapPane
Type : Element
Ce volet est le plus bas et se trouve au-dessus des tuiles. Il ne reçoit pas d'événements DOM. (volet 0).
markerLayer
Type : Element
Ce volet contient des repères. Il ne reçoit pas d'événements DOM. (volet 2).
overlayLayer
Type : Element
Ce volet contient des polylignes, des polygones, des superpositions au sol et des superpositions de calques de tuiles. Il ne reçoit pas d'événements DOM. (volet 1).
overlayMouseTarget
Type : Element
Ce volet contient des éléments qui reçoivent des événements DOM. (volet 3).

Interface MapCanvasProjection

google.maps.MapCanvasProjection interface

Cet objet est mis à la disposition de OverlayView à partir de la méthode de dessin. Il n'est pas garanti qu'il soit initialisé tant que la méthode draw n'est pas appelée.

fromContainerPixelToLatLng
fromContainerPixelToLatLng(pixel[, noClampNoWrap])
Paramètres :
  • pixel : Point optional
  • noClampNoWrap : boolean optional
Valeur renvoyée : LatLng|null
Calcule les coordonnées géographiques à partir des coordonnées de pixel dans le conteneur de la carte.
fromDivPixelToLatLng
fromDivPixelToLatLng(pixel[, noClampNoWrap])
Paramètres :
  • pixel : Point optional
  • noClampNoWrap : boolean optional
Valeur renvoyée : LatLng|null
Calcule les coordonnées géographiques à partir des coordonnées de pixel dans l'élément div qui contient la carte déplaçable.
fromLatLngToContainerPixel
fromLatLngToContainerPixel(latLng)
Paramètres :
Valeur renvoyée : Point|null
Calcule les coordonnées de pixel de l'emplacement géographique donné dans l'élément conteneur de la carte.
fromLatLngToDivPixel
fromLatLngToDivPixel(latLng)
Paramètres :
Valeur renvoyée : Point|null
Calcule les coordonnées en pixels de l'emplacement géographique donné dans l'élément DOM qui contient la carte déplaçable.
getVisibleRegion
getVisibleRegion()
Paramètres : aucun
Valeur renvoyée : VisibleRegion|null
Région visible de la carte. Renvoie null si la carte n'a pas de taille. Renvoie null si OverlayView se trouve sur un StreetViewPanorama.
getWorldWidth
getWorldWidth()
Paramètres : aucun
Valeur renvoyée : number
Largeur du monde en pixels au niveau de zoom actuel. Pour les projections avec un angle de cap de 90 ou 270 degrés, cela correspond à l'étendue des pixels sur l'axe Y.