Leaflet:检索KML多边形的边界

时间:2016-10-27 21:53:15

标签: javascript leaflet kml

我使用名为leaflet-omnivore的Leaflet插件将多边形插入Leaflet地图。我使用的语法是:

var polygon = omnivore.kml('placeName.kml');
polygon.addTo(map);

这很有效;多边形出现在我的地图上。然而,一旦它被添加,我想然后缩放/平移地图以尽可能地适合形状。我一直在尝试这个:

polygon.addTo(map).fitBounds();

...但是会引发错误:'fitBounds is not a function'。我也试图用这个来找到坐标:

polygon.addTo(map).getBounds().getNorthEast();

...但是'cannot read property 'lat' of undefined'会回来。

有人有什么想法吗?我很难过。文档是here,我使用的是Leaflet 1.0.0。

1 个答案:

答案 0 :(得分:1)

您必须等到.kml已加载。在'ready'事件发生后,你的内容也是如此,在文档HERE中说明:

var polygon = omnivore.kml('yourKML.kml');
polygon.addTo(map);

polygon.on('ready', function() {
    map.fitBounds(polygon.getBounds())
});