2017-04-17 80 views
-1

我有一個腳本可以從對象中獲取地圖標記,然後將標記適合邊界。除了當對象只包含1個標記時,它可以起作用。任何關於如何設置的建議,以便如果只有標記將縮放設置爲「x」;如果只有1個標記,Google地圖會將縮放設置爲

var results = [ 
     ['<!-- TMPL_VAR street_no --> <!-- TMPL_VAR street --> <!-- TMPL_VAR city -->, <!-- TMPL_VAR state --> <!-- TMPL_VAR zip -->',<!-- TMPL_VAR latitude -->,<!-- TMPL_VAR longitude -->] 
    ]; 
var map; 
function initMap() { 
    bounds = new google.maps.LatLngBounds(); 
    map = new google.maps.Map(document.getElementById('map-canvas'), { 
    }); 
    setMarkers(map); 
} 
function setMarkers(map) { 
    var bounds = new google.maps.LatLngBounds(); 
    for (var i = 0; i < results.length; i++) { 
    result = results[i]; 
    position = new google.maps.LatLng(result[1], result[2]); 
    marker = new google.maps.Marker({ 
     position: {lat: result[1], lng: result[2]}, 
     map: map, 
     title: result[0] 
    }); 
    bounds.extend(position) 
    } 
    map.fitBounds(bounds); 
} 
+1

您可以檢查標記長度和使用'map.setZoom(x)'設置地圖的縮放 –

+0

如果(marker.length = 1){map.setZoom(14)} setMarkers(map);不工作我應該在哪裏做這個? –

+0

如果(marker.length == 1)'='是賦值運算符,如果它仍然不起作用,請使用小提琴 –

回答

1

.fitBound是防止綁定您可以通過爲

if(results.length == 1) {  
     map.setZoom(5); 
     map.setCenter(position) 
    } 



if(results.length > 1){ 
    map.fitBounds(bounds); 
    } 

所以現在在一個標記地圖中心的情況下,和變焦設置邊界,而不是標記長度和變化的代碼檢查它試試這個而在多個標記範圍的情況下,使用無視變焦和中心

看到這個CODEPEN

相關問題