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