import { Controller } from "@hotwired/stimulus" export default class extends Controller { static targets = ['coords']; END_ZOOM = 19; mapAnimate = { animate: true, duration: 1, easeLinearity: 0.25 }; go(event) { let map = window.LMap; const coords = event.currentTarget.getAttribute('data-coords').split(' '); map.setView( coords, this.END_ZOOM, this.mapAnimate ); let marker = this.getMarker(map, coords); marker.openTooltip(); } getMarker(map, coords) { let marker; map.eachLayer(l => { if (l instanceof L.Marker) { const latLng = l.getLatLng(); const lat = latLng['lat']; const lng = latLng['lng']; if (lat === Number(coords[0]) && lng === Number(coords[1])) { marker = l; return; } } }); return marker; } }