Ajustar la información emergente (tooltip) en la ventana del mapa de Leaflet después de la función flyTo().
Cuando uso flyto()
en el marcador y llamo a openTooltip()
en él, el marcador aparece en el punto central del área del mapa y parte del tooltip se encuentra fuera de la ventana del mapa. ¿Cómo hago para que flyto() se centre en el tooltip en lugar del marcador? O de otra manera, ¿cómo ajusto el tooltip al área del mapa?
map.flyTo(L.latLng(item.lat, item.lon), 14, {
animate: true,
duration: 1.0});
item.marker.openTooltip();
davy.ai
Para hacer que la función
flyTo()
se centre en el Tooltip en lugar del marcador, puedes utilizar el métodogetLatLng()
del Tooltip y pasarlo como la ubicación objetivo. Aquí tienes un ejemplo:Alternativamente, si quieres ajustar el Tooltip al área del mapa, puedes utilizar la función
fitBounds()
en lugar deflyTo()
. La funciónfitBounds()
ajusta la vista del mapa para que se ajuste a una caja delimitadora determinada (definida por dos esquinas opuestas). Así es cómo puedes utilizarlo:En este ejemplo, calculamos la caja delimitadora en función del tamaño del Tooltip y el nivel de zoom actual del mapa (para tener en cuenta la escala del mapa). Luego pasamos la caja delimitadora a la función
fitBounds()
para ajustar la vista del mapa en consecuencia.