Zoom ke lokasi Penanda di klik -Leaflet

Aug 20 2020

Saya menampilkan penanda di peta dari file geojson. Dalam kode saat ini ketika saya mengarahkan kursor ke atas penanda, saya dapat melihat properti di munculan. Saya ingin menambahkan terbang ke atau memperbesar lokasi tepat penanda setelah mengklik penanda. Bagaimana saya bisa mencapainya.

 cityMarker = new L.geoJson(city, {
        onEachFeature: function(feature, layer) {
            //if (feature.properties && feature.properties.name) {
            if ( feature.properties.name) {   
                layer.bindPopup(feature.properties.name, {closeButton: false, offset: L.point(0, -2)});
                layer.on('mouseover', function() { layer.openPopup(); });
                layer.on('mouseout', function() { layer.closePopup(); });
            }
        },
        pointToLayer: function (feature, latlng) {
            var cityIcon = new L.Icon({
            iconSize: [20, 20],
            iconAnchor: [13, 27],
            popupAnchor: [1, -20],
            iconUrl: './css/img/marker-icon-red.png'
        });
            //return L.circleMarker(latlng);
            return L.marker(latlng,{icon: cityIcon});
        }
    });
  
    map.addLayer(cityMarker);

Jawaban

1 poonampatel Aug 20 2020 at 13:31

Saya telah menemukan solusinya jadi, saya menambahkannya di sini.

 cityMarker.on('click', function(e) {
      map.setView(e.latlng, 16);      
});         
1 peeebeee Aug 20 2020 at 14:20

Untuk efek pan / zoom animasi yang halus dan bagus daripada lompatan, gunakan flyTo

cityMarker.on('click', function(e) {
      map.flyTo(e.latlng, 16);      
});