我正在寻找适合单张地图边界以显示已加载geoJSON文件内容的解决方案。

为了加载文件,我使用leaflet-ajax。我已经尝试过了,但是我不知道如何获得图层的边界。关于如何调整显示的地图扇区以显示geoJSON文件的任何建议?谢谢。



var geojsonLayer = new L.GeoJSON.AJAX('http://localhost:8080/test.geojson');
geojsonLayer.addTo(this.map);
this.map.fitBounds(geojsonLayer.getBounds());

最佳答案

AJAX的意思是asynchronous:因此fitBounds调用将在加载内容之前运行。要正确执行此操作,您需要等待data:loaded事件。

var geojsonLayer = new L.GeoJSON.AJAX('http://localhost:8080/test.geojson');
geojsonLayer.addTo(this.map);
geojsonLayer.on('data:loaded', function() {
  this.map.fitBounds(geojsonLayer.getBounds());
}.bind(this));


使用.bind(this)是因为回调将have a different this value by default

关于javascript - 单张AJAX map FitBounds,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29735989/

10-09 14:52