我正在寻找适合单张地图边界以显示已加载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/