Clase OverlayView
google.maps.OverlayView
class
extends MVCObject
library "maps", "streetView"
Puedes implementar esta clase si deseas mostrar tipos personalizados de objetos de superposición en el mapa.
Para heredar de esta clase, configura el prototipo de tu superposición: MyOverlay.prototype = new google.maps.OverlayView();. Se garantiza que el constructor OverlayView sea una función vacía.
Debes implementar tres métodos: onAdd(), draw() y onRemove().
- En el método
onAdd(), debes crear objetos del DOM y agregarlos como elementos secundarios de los paneles. - En el método
draw(), debes posicionar estos elementos. - En el método
onRemove(), debes quitar los objetos del DOM.
setMap() con un objeto Map válido para activar la llamada al método onAdd() y a setMap(null) para activar el método onRemove(). Se puede llamar al método setMap() en el momento de la construcción o en cualquier momento posterior cuando se deba volver a mostrar la superposición después de quitarla. Luego, se llamará al método draw() cada vez que cambie una propiedad del mapa que pueda modificar la posición del elemento, como el zoom, el centro o el tipo de mapa.
const {OverlayView} = await google.maps.importLibrary("maps");
const {OverlayView} = await google.maps.importLibrary("streetView");
Constructor | |
|---|---|
OverlayView |
OverlayView()Parámetros: Ninguno
Crea un OverlayView. |
Métodos estáticos | |
|---|---|
preventMapHitsAndGesturesFrom |
preventMapHitsAndGesturesFrom(element)Parámetros:
Valor de retorno: Ninguno
Detiene los eventos de clic, presión, arrastre y rueda en el elemento para que no se propaguen al mapa. Usa esta opción para evitar que se arrastre el mapa y se acerque o aleje, así como los eventos de "clic" en el mapa. |
preventMapHitsFrom |
preventMapHitsFrom(element)Parámetros:
Valor de retorno: Ninguno
Detiene el clic o la presión en el elemento para que no se propague al mapa. Usa esta opción para evitar que el mapa active eventos de "clic". |
Métodos | |
|---|---|
draw |
draw()Parámetros: Ninguno
Valor de retorno:
voidImplementa este método para dibujar o actualizar la superposición. Usa la posición de projection.fromLatLngToDivPixel() para colocar correctamente la superposición en relación con los MapPanes. Se llama a este método después de onAdd() y cuando se cambia el zoom o el centro. No se recomienda realizar tareas de procesamiento costosas en este método. |
getMap |
getMap()Parámetros: Ninguno
Valor de retorno:
Map|StreetViewPanorama |
getPanes |
getPanes()Parámetros: Ninguno
Valor de retorno:
MapPanes|nullDevuelve los paneles en los que se puede renderizar este OverlayView. Los paneles no se inicializan hasta que la API llama a onAdd. |
getProjection |
getProjection()Parámetros: Ninguno
Valor de retorno:
MapCanvasProjectionDevuelve el objeto MapCanvasProjection asociado con este OverlayView. La proyección no se inicializa hasta que la API llama a onAdd. |
onAdd |
onAdd()Parámetros: Ninguno
Valor de retorno:
voidImplementa este método para inicializar los elementos del DOM de la superposición. Se llama a este método una vez después de que se llama a setMap() con un mapa válido. En este punto, se habrán inicializado los paneles y la proyección. |
onRemove |
onRemove()Parámetros: Ninguno
Valor de retorno:
voidImplementa este método para quitar tus elementos del DOM. Se llama a este método una vez después de una llamada a setMap(null). |
setMap |
setMap(map)Parámetros:
Valor de retorno: Ninguno
Agrega la superposición al mapa o panorama. |
Heredados:
addListener,
bindTo,
get,
notify,
set,
setValues,
unbind,
unbindAll
| |
Interfaz MapPanes
Interfaz
google.maps.MapPanes
Propiedades | |
|---|---|
floatPane |
Tipo:
ElementEste panel contiene la ventana de información. Se encuentra encima de todas las superposiciones del mapa. (Panel 4). |
mapPane |
Tipo:
ElementEste es el panel del extremo inferior y se encuentra encima de los mosaicos. No recibe eventos del DOM. (Panel 0). |
markerLayer |
Tipo:
ElementEste panel contiene marcadores. No recibe eventos del DOM. (Panel 2). |
overlayLayer |
Tipo:
ElementEste panel contiene superposiciones de capas de mosaicos, superposiciones de suelo, polígonos y polilíneas. No recibe eventos del DOM. (Panel 1). |
overlayMouseTarget |
Tipo:
ElementEste panel contiene elementos que reciben eventos del DOM. (Panel 3). |
Interfaz MapCanvasProjection
Interfaz
google.maps.MapCanvasProjection
Este objeto se pone a disposición de OverlayView desde el método de dibujo. No se garantiza que se inicialice hasta que se llame a draw.
Métodos | |
|---|---|
fromContainerPixelToLatLng |
fromContainerPixelToLatLng(pixel[, noClampNoWrap])Parámetros:
Valor de retorno:
LatLng|nullCalcula las coordenadas geográficas a partir de las coordenadas de píxeles en el contenedor del mapa. |
fromDivPixelToLatLng |
fromDivPixelToLatLng(pixel[, noClampNoWrap])Parámetros:
Valor de retorno:
LatLng|nullCalcula las coordenadas geográficas a partir de las coordenadas de píxeles en el div que contiene el mapa arrastrable. |
fromLatLngToContainerPixel |
fromLatLngToContainerPixel(latLng)Parámetros:
Valor de retorno:
Point|nullCalcula las coordenadas de píxel de la ubicación geográfica determinada en el elemento contenedor del mapa. |
fromLatLngToDivPixel |
fromLatLngToDivPixel(latLng)Parámetros:
Valor de retorno:
Point|nullCalcula las coordenadas de píxel de la ubicación geográfica determinada en el elemento del DOM que contiene el mapa arrastrable. |
getVisibleRegion |
getVisibleRegion()Parámetros: Ninguno
Valor de retorno:
VisibleRegion|nullEs la región visible del mapa. Devuelve null si el mapa no tiene tamaño. Devuelve null si OverlayView está en un StreetViewPanorama. |
getWorldWidth |
getWorldWidth()Parámetros: Ninguno
Valor de retorno:
numberEs el ancho del mundo en píxeles en el nivel de zoom actual. En el caso de las proyecciones con un ángulo de orientación de 90 o 270 grados, esto corresponde al intervalo de píxeles en el eje Y. |