2013-12-14 3 views
0

Я привязываю, чтобы добавить некоторые маркеры на карту, которая работает нормально, но я не могу установить карту для увеличения до границ (расширений) всех маркеров. Не могли бы вы сообщить мне, что я делаю неправильно?Zoom To Multiple Markers bounds not working

// Multiple Markers 
var markers = [ 
    ['Tacloban', 11.247524,125.00463], 
    ['Guiuan', 11.034212,125.731659], 
    ['Ormoc', 11.026798,124.600754], 
    ['Cebu', 10.31019,123.881836], 
    ['Roxas', 11.59036,122.763977] 

]; 
    google.maps.event.addDomListener(document.getElementById('alloffice'), 'click', function() { 
    map.setCenter(latlngOfficeAall); 
    map.setZoom(8); 
// Loop through our array of markers & place each one on the map 
    for(i = 0; i < markers.length; i++) { 
     var position = new google.maps.LatLng(markers[i][1], markers[i][2], markers[i][3], markers[i][4], markers[i][5]); 
     bounds.extend(position); 
     marker = new google.maps.Marker({ 
      position: position, 
      map: map, 
      title: markers[i][0] 
     }); 
     } 

    }); 
+0

Где вы звоните [map.fitBounds] (https: // разработчикам. google.com/maps/documentation/javascript/reference#Map)? – geocodezip

ответ

2

Вы должны сказать карту до центра и масштаба, чтобы соответствовать границы с map.fitBounds(bounds)

// Multiple Markers 
var markers = [ 
    ['Tacloban', 11.247524,125.00463], 
    ['Guiuan', 11.034212,125.731659], 
    ['Ormoc', 11.026798,124.600754], 
    ['Cebu', 10.31019,123.881836], 
    ['Roxas', 11.59036,122.763977] 

]; 

google.maps.event.addDomListener(document.getElementById('alloffice'), 'click', function() { 
    var bounds = new google.maps.LatLngBounds(); 
    // Loop through our array of markers & place each one on the map 
    for(i = 0; i < markers.length; i++) { 
    var position = new google.maps.LatLng(markers[i][1], markers[i][2], markers[i][3], markers[i][4], markers[i][5]); 
    bounds.extend(position); 
    marker = new google.maps.Marker({ 
     position: position, 
     map: map, 
     title: markers[i][0] 
    }); 
    } 
    map.fitBounds(bounds); 
}); 

working example

+0

Привет geocodezip, я обновил свой код, как вы прокомментировали, но он все еще не масштабирует границы всех маркеров. Я думал, что должен удалить map.setCenter (latlngOfficeAall); и map.setZoom (8); строки из кода, но карта все еще не масштабируется до расширений маркеров! – user1760110

+0

Вы исправили ошибки javascript и/или определили все необходимые внешние переменные? Когда я исправляю те, что он работает для меня (он не был протестирован изначально, поскольку вы не предоставляете полный код). – geocodezip

+0

спасибо geocodezip – user1760110