javascript - Leaflet:检索 KML 多边形的边界

标签 javascript leaflet kml

我正在使用名为 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/

相关文章:

javascript - Leafletjs Map 是否适用于中国?

javascript - null 不是对象 - jQuery + leaflet

gis - 如何链接到 KMZ 文件中的内部文件?

kml - 构建大型 KML 文件

用于 KML Google Earth 的 XML 的 SQL 查询

javascript - 使用 HTML onClick 将 PHP 变量作为参数传递

javascript - ADMIN LTE 通知下拉菜单不包含内容

javascript - 在 JavaScript 中设置新对象的动态键,如 { [key] : "value" }

javascript - 将 onclick 事件分配给多个按钮

javascript - 如何在 openstreetmap 中编辑数据层可见性的缩放级别