Leaflet.js将地图放在一组标记上

即时通讯使用Leaflet.js,并希望以某种方式来中心地图上的标记,使所有在用户视图内的网页启动时。 如果所有的标记聚集在一个小区域,我希望地图缩小到一个水平,仍然显示所有的人。

我知道谷歌地图有一个自动中心function,但我怎么会用这个Leaflet.js呢?

您可以使用L.LatLngBounds创build要放大的区域。

首先,创build一个边界并将其传递给一个L.LatLngs数组:

var bounds = new L.LatLngBounds(arrayOfLatLngs); 

这将创build一个边界来封装数组中包含的每个点。 一旦你有界限,你可以适应地图的界限来匹配你创build的界限:

  map.fitBounds(bounds); 

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

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

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

这将完全相同,而不需要创build一个特定的L.LatLngBounds对象。