0
我正在使用Google Maps v3 API爲給定城市生成一組位置。我希望地圖以所有位置的平均位置爲中心。要做到這一點,我加載所有我想在地圖上標記爲被稱爲locations
和使用下面的代碼的陣列位置的經緯度對象:Google Maps API綁定錯誤
if(locations.length > 1)
{
var bounds = new google.maps.LatLngBounds(locations[0], locations[1]);
for(var x = 2; x < locations.length; x++) bounds.extend(locations[x]);
var center = bounds.getCenter();
}
else var center = locations[0];
然而,在測試中,我用這個代碼來定義位置陣列:
var locations = [];
locations.push(new google.maps.LatLng(50.11658, 8.68552));
locations.push(new google.maps.LatLng(50.10026, 8.66941));
locations.push(new google.maps.LatLng(50.10989, 8.68822));
locations.push(new google.maps.LatLng(50.11074, 8.68269));
locations.push(new google.maps.LatLng(50.1040552, 8.6936269));
locations.push(new google.maps.LatLng(50.110206, 8.6818686));
locations.push(new google.maps.LatLng(50.10957, 8.69077));
並得到了一個瘋狂的結果center
。如果我刪除第一個位置(位於50.11658,8.68552),則代碼有效。如果我移動它,以便它不是推入數組的第一個位置,則代碼有效。我不知道爲什麼或如何地點會或可能產生這個錯誤!