宣传单AJAX Map FitBounds

时间:2015-04-19 21:17:28

标签: javascript ajax leaflet fitbounds

我正在寻找一种解决方案,以适应传单地图的界限,以显示已加载的geoJSON文件的内容。

为了加载文件我使用leaflet-ajax。我已经尝试了这个,但我不知道如何才能获得图层的界限。任何建议我如何调整显示的地图部门以显示geoJSON文件?感谢。



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




1 个答案:

答案 0 :(得分:6)

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