亲爱的。我在编码时非常新,所以要好好。
我有一个位置列表(lat& lng),可能真的在任何地方(即:所有在同一个城市;一个在孟加拉国,一个在巴黎......)。
初始化谷歌地图时,我想以这些位置的重心为中心。
所以这是我的第一个问题:如何计算带位置对象的重心
然后,我还希望初始地图显示所有位置(标记)。所以这是缩放问题,这是我的第二个问题:如何计算谷歌地图中的缩放,以便显示地图上的所有标记
我希望我已经清楚了。另外,请注意我的意思是重心,所有点数都为1。
最好的问候。
答案 0 :(得分:4)
要缩放以包含一组结果:
var locations = new google.maps.LatLngBounds();
...
function zoomToViewports(locations) {
var bounds = new google.maps.LatLngBounds();
for (var i in locations) {
bounds.union(locations[i].geometry.viewport);
}
map.fitBounds(bounds);
}
完成后,重心位于屏幕的中间,所以如果你真的需要它的值,它很容易计算[(max(lat)-min(lat)/ 2,(max(lng)-min(lng) )/ 2]
HTH?
欢迎您从this page on my website解除JS,这就是您所描述的