Leaflet 标记与传单的界限

Leaflet 标记与传单的界限,leaflet,fitbounds,Leaflet,Fitbounds,我有一个名为markers的标记数组,我使用palejs L.layerGroup(markers).addTo(map); 现在,我想将重点放在覆盖所有标记的视口上 var bounds = L.latLngBounds(markers); map.fitBounds(bounds, { padding: [20, 20] }); 为什么我获取无法读取map.fitBounds(bounds,{padding:[20,20]}中未定义的错误消息的属性'lat'行。出现错误的原因是L.La

我有一个名为
markers
的标记数组,我使用
palejs

L.layerGroup(markers).addTo(map);
现在,我想将重点放在覆盖所有标记的视口上

var bounds = L.latLngBounds(markers);
 map.fitBounds(bounds, { padding: [20, 20] });

为什么我获取
无法读取
map.fitBounds(bounds,{padding:[20,20]}中未定义的
错误消息的属性'lat'行。

出现错误的原因是L.LatLngBounds需要两个L.LatLng对象作为参数,而不是一个标记数组,如图中所示。我建议使用,它是从L.LayerGroup扩展而来的,但有一些额外的功能。它有一个
getBounds
方法,它将根据添加到组中的所有特性来精确地计算边界。所以你可以做:

var featureGroup = L.featureGroup(markers).addTo(map);
map.fitBounds(featureGroup.getBounds());

下面是一个关于Plunker的工作示例:

我按照您所说的做了更改,但仍然存在相同的问题。那么您一定是做错了其他事情,但根据您给出的代码看不出是什么。这是一个有效的plunker,也添加到了我的答案中:需要工作示例”