Classe 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 avec la géométrie de bâtiments 3D et la possibilité de synchroniser le contenu 2D/3D avec le rendu de la carte de base.
Avec la vue en superposition WebGL, vous pouvez ajouter du contenu à vos cartes directement avec WebGL ou via des 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)
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 à nouveau affichée après sa suppression. La méthode onDraw()
est ensuite appelée chaque fois qu'une propriété cartographique change, ce qui peut 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
(y compris les cartes définies sur RenderingType.VECTOR
MapOptions.renderingType
et utilisant Map.DEMO_MAP_ID
comme MapOptions.mapId
).
Cette classe étend MVCObject
.
Pour y accéder, appelez const {WebGLOverlayView} = await google.maps.importLibrary("maps")
. Consultez Bibliothèques dans l'API Maps JavaScript.
Constructeur | |
---|---|
WebGLOverlayView |
WebGLOverlayView() Paramètres:aucun
Crée un objet WebGLOverlayView . |
Méthodes | |
---|---|
getMap |
getMap() Paramètres:aucun
Valeur renvoyée:
Map|null|undefined |
onAdd |
onAdd() Paramètres:aucun
Return Value (Valeur renvoyée) : aucune
Implémentez cette méthode pour extraire ou créer, avant de dessiner la superposition, des structures de données intermédiaires qui ne nécessitent pas d'accès immédiat au contexte de rendu WebGL. Cette méthode doit être implémentée pour l'affichage. |
onContextLost |
onContextLost() Paramètres:aucun
Return Value (Valeur renvoyée) : 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 il n'est plus nécessaire. |
onContextRestored |
onContextRestored(options) Paramètres:
Return Value (Valeur renvoyée) : 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, comme les nuanceurs ou les objets de tampon. |
onDraw |
onDraw(options) Paramètres:
Return Value (Valeur renvoyée) : aucune
Implémentez cette méthode pour dessiner du contenu WebGL directement sur la carte. Notez que si la superposition a besoin d'un nouveau cadre, appelez WebGLOverlayView.requestRedraw . |
onRemove |
onRemove() Paramètres:aucun
Return Value (Valeur renvoyée) : 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 l'affichage. |
onStateUpdate |
onStateUpdate(options) Paramètres:
Return Value (Valeur renvoyée) : aucune
Implémentez cette méthode pour gérer toutes les mises à jour de l'état GL en dehors de l'image de l'animation de rendu. |
requestRedraw |
requestRedraw() Paramètres:aucun
Return Value (Valeur renvoyée) : aucune
Déclenche la carte pour redessiner un cadre. |
requestStateUpdate |
requestStateUpdate() Paramètres:aucun
Return Value (Valeur renvoyée) : aucune
Déclenche la carte pour mettre à jour l'état GL. |
setMap |
setMap([map]) Paramètres:
Return Value (Valeur renvoyée) : aucune
Ajoute la superposition à la carte. |
Hérité:addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
Interface WebGLDrawOptions
Interface google.maps.WebGLDrawOptions
Options de dessin
Propriétés | |
---|---|
gl |
Le rapport WebGLRenderingContext sur lequel effectuer le rendu de cette WebGLOverlayView. |
transformer |
Transformation de la matrice de l'espace de l'appareil photo aux coordonnées de latitude/longitude. |
Interface WebGLStateOptions
Interface google.maps.WebGLStateOptions
Options d'état GL.
Propriétés | |
---|---|
gl |
Le rapport WebGLRenderingContext sur lequel effectuer le rendu de cette WebGLOverlayView. |
Interface CoordinateTransformer
Interface google.maps.CoordinateTransformer
Cette interface propose des méthodes pratiques pour générer des matrices à utiliser pour afficher des scènes WebGL au-dessus de la carte de base de Google.
Remarque: Une référence à cet objet ne doit pas être exclue du champ d'application de l'appel WebGLOverlayView.onDraw
d'encapsulation.
Méthodes | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) Paramètres:
Return Value (Valeur renvoyée) : matrice MVP
Float64Array à utiliser avec WebGL. |
getCameraParams |
getCameraParams() Paramètres:aucun
Valeur renvoyée:
CameraParams paramètres de la caméra |
Interface CameraParams
Interface google.maps.CameraParams
Utilisé pour récupérer les paramètres de l'appareil photo, tels que celui de l'appareil photo GL utilisé pour WebGLOverlayView
.
Cette interface étend CameraOptions
.
Propriétés | |
---|---|
center |
Type:
LatLng |
heading |
Type:
number |
tilt |
Type:
number |
zoom |
Type:
number |