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
对象。