2016-09-06 2 views
-1

정보 창이있는 여러 마커가 포함 된지도가 있습니다. 모든 마커 주위에 setbounds를 사용하여지도를 중앙에 배치 할 수있는 방법이 필요합니다. 그러면 모든지도가 표시됩니다.setbounds를 사용하여 마커를 중앙에 배치하는 방법

여기 내 코드입니다 : https://jsfiddle.net/nickbuus/kzsetxke/

나는 이것에 대한 setbounds을 사용하는 방법의 예를 보았다 -하지만 루프를 사용하고 때 어디지도에 대한 경계를 설정하는 확신입니다.

for (var i = 0; i < locations.length; i++) { 
    gmarkers[locations[i][0]] = 
    createMarker(new google.maps.LatLng(locations[i][3], locations[i][4]),  locations[i][1] + "<br>" + locations[i][2]); 

답변

3

당신은 새로운 google.maps.LatLngBounds를 작성하고 마커를 만드는 동안, 다음과 같이 getPosition() 방법을 사용하여 마커 위치하여이 경계를 확장 할 수 있습니다 : 여기 내 루프는

여기
// Create bounds  
var bounds = new google.maps.LatLngBounds(); 

// Create marker for each location 
for (var i = 0; i < locations.length; i++) { 
    var m = createMarker(new google.maps.LatLng(locations[i][3], locations[i][4]), locations[i][1] + "<br>" + locations[i][2]); 
    gmarkers[locations[i][0]] = m; 

    // Extend bound by the marker position 
    bounds.extend(m.getPosition()); 
} 

// Fit map 
map.fitBounds(bounds); 

원래 바이올린 함께 언급 된 변경 https://jsfiddle.net/tez50m5t/

관련 문제