传单:检索 KML 多边形的边界

Leaflet: retrieving bounds for a KML polygon

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

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

效果很好;多边形出现在我的地图上。但是,添加后我想 zoom/pan 地图以尽可能适合形状。我一直在尝试这个:

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.

您必须等到 .kml 加载完毕。因此,在 'ready' 事件触发后执行您的操作,如文档 HERE:

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

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