Я использую API Google Maps v3 для создания группы местоположений для данного города. Я хочу, чтобы карта загружалась с центром в среднем положении всех местоположений. Чтобы сделать это, я загружаю LatLng объекты всех мест, которые я хочу отметить на карте в массив с именем locations
и используя следующий код:Ошибка API API Карт Google
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), код работает. Если я перемещаю его так, чтобы это не первое место, вдвинутое в массив, код работает. Я понятия не имею, почему и как это место могло бы или могло бы произвести эту ошибку!