Leaflet 传单:平移、居中、缩放地图到标记位置

Leaflet 传单:平移、居中、缩放地图到标记位置,leaflet,zooming,pan,Leaflet,Zooming,Pan,到目前为止,我对传单还不熟悉,并对它很感兴趣。我有一张全世界170多个标记的交互式地图。每个标记在弹出窗口中都有一个标题。我还想在弹出窗口中添加一个“缩放到”链接。当用户单击“缩放到”时,我希望地图以标记为中心,并放大到特定的缩放级别(见图) 这些标记在PHP中被生成为一个带有标题和lat/longs的标记数组,并被注入到名为“items”的javascript变量中 for(变量i=0;i

到目前为止,我对传单还不熟悉,并对它很感兴趣。我有一张全世界170多个标记的交互式地图。每个标记在弹出窗口中都有一个标题。我还想在弹出窗口中添加一个“缩放到”链接。当用户单击“缩放到”时,我希望地图以标记为中心,并放大到特定的缩放级别(见图)

这些标记在PHP中被生成为一个带有标题和lat/longs的标记数组,并被注入到名为“items”的javascript变量中

for(变量i=0;i
  • 将标记保留在关联数组中(索引必须唯一)
  • 在弹出文本中放置一个链接,以调用将此索引作为参数传递的函数
  • 在javascript函数中使用或
  • 下面是一些伪代码:

    var markersById = {};   
    
    for (var i = 0; i < items.length; i++) {
      marker = new L.marker([items[i][1],items[i][2]])
          .bindPopup('<a href="javascript:centerMapOnPost(' + i + ')">Center on map</a>')
          .addTo(map);
    
      markersById[i] = marker;
    }
    
    
    function centerMapOnPost(markerId) {
        map.panTo(markersById[markerId].getLatLng());
    }
    
    var-markersById={};
    对于(变量i=0;i
  • 将标记保留在关联数组中(索引必须唯一)
  • 在弹出文本中放置一个链接,以调用将此索引作为参数传递的函数
  • 在javascript函数中使用或
  • 下面是一些伪代码:

    var markersById = {};   
    
    for (var i = 0; i < items.length; i++) {
      marker = new L.marker([items[i][1],items[i][2]])
          .bindPopup('<a href="javascript:centerMapOnPost(' + i + ')">Center on map</a>')
          .addTo(map);
    
      markersById[i] = marker;
    }
    
    
    function centerMapOnPost(markerId) {
        map.panTo(markersById[markerId].getLatLng());
    }
    
    var-markersById={};
    对于(变量i=0;i