我正在使用名为 leaflet-omnivore 的 Leaflet 插件将多边形插入到 Leaflet map 中。 。我使用的语法是:
var polygon = omnivore.kml('placeName.kml');
polygon.addTo(map);
这很好用;该多边形出现在我的 map 上。但是,添加后我想缩放/平移 map 以尽可能适合形状。我一直在尝试这个:
polygon.addTo(map).fitBounds();
...但这会引发错误:'fitBounds 不是函数'
。我还尝试使用以下方法查找坐标:
polygon.addTo(map).getBounds().getNorthEast();
...但是返回'cannot read property 'lat' of undefined'
。
大家有什么想法吗?我很困惑。文档是here我正在使用 Leaflet 1.0.0。
最佳答案
您必须等待 .kml
加载完毕。因此,请在 'ready'
事件触发后执行您的操作,如文档 HERE 中所述。 :
var polygon = omnivore.kml('yourKML.kml');
polygon.addTo(map);
polygon.on('ready', function() {
map.fitBounds(polygon.getBounds())
});
关于javascript - Leaflet:检索 KML 多边形的边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40294792/