传单:检索 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())
});
我正在使用名为 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())
});