Leaflet.js将地图置于一组标记的中心

时间:2013-06-24 14:15:09

标签: center leaflet markers

我正在使用Leaflet.js,并希望某种方式将地图置于我拥有的标记上,以便在页面启动时所有都在用户视图中。如果所有标记都聚集在一个小区域中,我希望地图缩小到仍然显示所有标记的水平。

我知道谷歌地图有自动中心功能,但我如何使用Leaflet.js进行此操作?

1 个答案:

答案 0 :(得分:93)

您可以使用L.LatLngBounds创建要缩放的区域。

首先,创建一个边界并传递一个L.LatLngs数组:

var bounds = new L.LatLngBounds(arrayOfLatLngs);

这将创建一个边界,用于封装数组中包含的每个点。一旦有了边界,就可以拟合地图的边界以匹配您创建的边界:

 map.fitBounds(bounds);

这将尽可能地缩放地图,同时仍然包含数组中的每个点。

或者,您也可以通过调用它并传入fitBounds个对象数组来调用L.LatLng方法。例如:

map.fitBounds([[1,1],[2,2],[3,3]]);

这将完全相同,无需创建特定的L.LatLngBounds对象。