Jquery 在传单.js中,如何将贴图聚焦在外部js高亮显示的多边形上?

Jquery 在传单.js中,如何将贴图聚焦在外部js高亮显示的多边形上?,jquery,leaflet,Jquery,Leaflet,如何将地图聚焦于某个位置 我的设置基于此帖子: 我在页面的另一层有一个链接列表,并将其设置为允许地图在单击链接时高亮显示某个建筑,但也希望将地图的焦点移动到该建筑 因此,对于此代码: function setHighlight (layer) { // Check if something's highlighted, if so unset highlight if (highlight) { unsetHighlight(highlight); } // Set h

如何将地图聚焦于某个位置

我的设置基于此帖子:

我在页面的另一层有一个链接列表,并将其设置为允许地图在单击链接时高亮显示某个建筑,但也希望将地图的焦点移动到该建筑

因此,对于此代码:

function setHighlight (layer) {
  // Check if something's highlighted, if so unset highlight
  if (highlight) {
    unsetHighlight(highlight);
  }
  // Set highlight style on layer and store to variable
  layer.setStyle(style.highlight);
  highlight = layer;
}
我想另外关注调用函数的多边形。例如:

var group = new L.LayerGroup([
new L.Polygon([
    [-50, -50], [50, -50], [50, -10], [-50, -10]
], {
    'label': 'Polygon 1',
    'popup': 'Polygon 1'
}),
new L.Polygon([
    [-50, 10], [50, 10], [50, 50], [-50, 50]
], {
    'label': 'Polygon 2',
    'popup': 'Polygon 2'
})
]).addTo(map);
是否有定义要添加到多边形以指示其位置?或者是否有代码可以将地图聚焦在多边形的中心


谢谢

您可以在
L.Polygon
上调用
getBounds
方法,该方法将返回
L.LatLngBounds
对象。该对象有一个
getCenter
方法,该方法将返回一个
L.LatLng
对象,该对象包含多边形的中心坐标。您可以使用
L.map
panTo
方法来平移地图。或者,您可以使用
L.LatLngBounds
对象,使用
L.Map
fitBounds
方法缩放和平移多边形:

// Have a polygon
var polygon = new L.Polygon(...).addTo(map)

// Get bounds object
var bounds = polygon.getBounds()

// Fit the map to the polygon bounds
map.fitBounds(bounds)

// Or center on the polygon
var center = bounds.getCenter()
map.panTo(center)
使用类似以下内容的代码:

function setHighlight (layer) {
    // Check if something's highlighted, if so unset highlight
    if (highlight) {
        unsetHighlight(highlight);
    }
    // Set highlight style on layer and store to variable
    layer.setStyle(style.highlight);

    // Fit map to layer bounds
    var bounds = layer.getBounds();
    map.fitBounds(bounds);

    highlight = layer;
}

令人惊叹的!再次感谢。一个简单的问题-你能在地图聚焦对象的同时显示标签的代码吗?