在给出一对纬度对的列表中查找传单中的中心和缩放级别

时间:2013-08-09 11:52:39

标签: javascript gis openstreetmap leaflet

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

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

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

2 个答案:

答案 0 :(得分:8)

最简单的方法是使用LatLngBounds对象。然后,您可以拥有地图fitBounds。或者如果您愿意,可以获得其中心manually

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

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

myMap.fitBounds([[1,1],[2,2] /*, ...*/ ]);

答案 1 :(得分:2)

我建议使用GeoJSON并按照tutorial中的说明创建传单地图。您只需将geojsonLayer.getBounds()map.setBounds()一起使用即可缩放数据。