9

我有一个经纬度对的列表。(或者我可以创建 GeoJSON)。我想将它们全部映射到传单地图上。

如何找到应该设置为中心和缩放级别的内容,以便显示所有点。

所有传单示例似乎都使用固定的中心和缩放,但我正在接受用户输入,所以我需要计算它们。

4

2 回答 2

16

最简单的方法是使用LatLngBounds对象。然后,您可以使用地图fitBounds。如果您愿意,也可以手动获取其中心。

var myPoints = [[1,1],[2,2] /*, ...*/ ];
var myBounds = new L.LatLngBounds(myPoints);
myMap.fitBounds(myBounds); //Centers and zooms the map around the bounds

如果您愿意,您甚至可以放弃实例化边界对象:

myMap.fitBounds([[1,1],[2,2] /*, ...*/ ]);
于 2013-08-15T16:12:19.533 回答
2

我建议使用 GeoJSON 并按照教程中的说明创建传单地图。您可以简单地使用geojsonLayer.getBounds()withmap.setBounds()来缩放您的数据。

于 2013-08-09T12:23:52.207 回答