WebGL

WebGLOverlayView

Classe google.maps.WebGLOverlayView

La vue en superposition WebGL offre un accès direct au même contexte de rendu WebGL que celui utilisé par Google Maps Platform pour afficher la carte de base vectorielle. L'utilisation d'un contexte de rendu partagé offre des avantages tels que l'occlusion de la profondeur pour la géométrie de bâtiments 3D et la possibilité de synchroniser le contenu 2D/3D avec le rendu de carte de base.

La vue en superposition WebGL vous permet d'ajouter du contenu à vos cartes en utilisant WebGL directement, ou à l'aide de bibliothèques graphiques populaires comme Three.js ou deck.gl. Pour utiliser la superposition, vous pouvez étendre google.maps.WebGLOverlayView et fournir une implémentation pour chacun des hooks de cycle de vie suivants: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost et WebGLOverlayView.onRemove.

Vous devez appeler WebGLOverlayView.setMap avec un objet Map valide pour déclencher l'appel de la méthode onAdd() et setMap(null) pour 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 où la superposition doit de nouveau s'afficher après la suppression. La méthode onDraw() est ensuite appelée chaque fois qu'une propriété de carte est susceptible de modifier la position de l'élément (zoom, centre ou type de carte, par exemple). WebGLOverlayView ne peut être ajouté qu'à une carte vectorielle ayant un MapOptions.mapId.

Cette classe étend MVCObject.

Accédez à en appelant const {WebGLOverlayView} = await google.maps.importLibrary("maps"). Consultez Bibliothèques dans l'API Maps JavaScript.

WebGLOverlayView
WebGLOverlayView()
Paramètres:aucun
Crée un objet WebGLOverlayView.
getMap
getMap()
Paramètres:aucun
Valeur renvoyée:Map|null|undefined
onAdd
onAdd()
Paramètres:aucun
Valeur de retour:aucune
Implémentez cette méthode pour récupérer ou créer des structures de données intermédiaires avant le tracé de la superposition et qui ne nécessitent pas d'accès immédiat au contexte de rendu WebGL. Cette méthode doit être implémentée pour être affichée.
onContextLost
onContextLost()
Paramètres:aucun
Valeur de retour:aucune
Cette méthode est appelée lorsque le contexte de rendu est perdu pour une raison quelconque. C'est là que vous devez nettoyer tout état GL préexistant, car elle n'est plus nécessaire.
onContextRestored
onContextRestored(options)
Paramètres:
  • optionsWebGLStateOptions qui permet aux développeurs de restaurer le contexte GL.
Valeur de retour:aucune
Cette méthode est appelée une fois que le contexte de rendu est disponible. Utilisez-le pour initialiser ou lier n'importe quel état WebGL, tel que les nuanceurs ou les objets tampons.
onDraw
onDraw(options)
Paramètres:
  • optionsWebGLDrawOptions qui permet aux développeurs d'afficher du contenu sur une carte de base Google associée.
Valeur de retour:aucune
Implémentez cette méthode pour dessiner le contenu WebGL directement sur la carte. Notez que si la superposition nécessite un nouveau cadre dessiné, appelez WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Paramètres:aucun
Valeur de retour:aucune
Cette méthode est appelée lorsque la superposition est supprimée de la carte avec WebGLOverlayView.setMap(null). C'est là que vous devez supprimer tous les objets intermédiaires. Cette méthode doit être implémentée pour être affichée.
onStateUpdate
onStateUpdate(options)
Paramètres:
  • optionsWebGLStateOptions qui permet aux développeurs de restaurer le contexte GL.
Valeur de retour:aucune
Implémentez cette méthode pour gérer les mises à jour de l'état GL en dehors du cadre de l'animation de rendu.
requestRedraw
requestRedraw()
Paramètres:aucun
Valeur de retour:aucune
Déclenche la carte pour redessiner une image.
requestStateUpdate
requestStateUpdate()
Paramètres:aucun
Valeur de retour:aucune
Déclenche le mappage pour mettre à jour l'état GL.
setMap
setMap([map])
Paramètres:
  • mapMap optional carte permettant d'accéder à l'élément div, au modèle et à l'état de la vue.
Valeur de retour:aucune
Ajoute la superposition à la carte.
Hérité: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Interface WebGLDrawOptions

google.maps.WebGLDrawOptions interface

Options de dessin

gl
WebGLRenderingContext sur lequel afficher cette vue en superposition WebGL.
transformer
Transformation de la matrice depuis les coordonnées de la caméra vers les coordonnées de latitude/longitude

Interface WebGLStateOptions

google.maps.WebGLStateOptions interface

Options d'état GL.

gl
WebGLRenderingContext sur lequel afficher cette vue en superposition WebGL.

Interface CoordinateTransformer

google.maps.CoordinateTransformer interface

Cette interface fournit des méthodes pratiques pour générer des matrices à utiliser pour le rendu des scènes WebGL sur la carte de base Google.

Remarque: Une référence à cet objet ne doit pas être maintenue en dehors du champ d'application de l'appel encapsulant WebGLOverlayView.onDraw.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Paramètres:
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral latitude, longitude et altitude.
  • rotationsFloat32Array optional tableau qui contient un angle de rotation d'Euler en degrés, dans la convention XYZ.
  • scaleFloat32Array optional tableau contenant un tableau scalaire XYZ à appliquer à l'axe cardinal.
Valeur renvoyée:matrice MVP Float64Array à utiliser avec WebGL.
getCameraParams
getCameraParams()
Paramètres:aucun
Valeur renvoyée:CameraParams paramètres de l'appareil photo

CameraParams : interface

google.maps.CameraParams interface

Permet de récupérer les paramètres de la caméra, tels que celui de la caméra GL utilisée pour WebGLOverlayView.

Cette interface étend CameraOptions.

center
Type:LatLng
heading
Type:number
tilt
Type:number
zoom
Type:number