2013-08-19 36 views
0

我有我想要發送幾個地址到谷歌地圖的代碼。但是,由於我正在執行一系列地理編碼,因此如何才能使視口至少居中並在組上正確縮放?發送幾個地址時在谷歌地圖上設置視口

function doBatchGeocodeAndSearch() { 
$('#loading').css('visibility', 'visible'); 

var lines = $('#styled').val().split('\n'); 

for(var i = 0;i < lines.length;i++){ 
    geocoder.geocode({ 'address': lines[i]}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.fitBounds(results[0].geometry.viewport); 
     // map.setCenter(bounds.getCenter(), 
     // map.getBoundsZoomLevel(bounds)); 
     map.setCenter(results[0].geometry.location); 

回答

0

刪除map.setCenter調用。最後一次調用map.fitBounds將顯示所有標記,如果只有一個標記,則會放大真正的近距離,可能需要特別處理。

var bounds = new google.maps.LatLngBounds(); 
for(var i = 0;i < lines.length;i++){ 
    geocoder.geocode({ 'address': lines[i]}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     bounds.extend(results[0].geometry.location); 
     map.fitBounds(bounds);