2013-05-02 3 views
6

Google지도의 V3 버전을 사용하고 있으며 이에 대해 궁금한 점이 있습니다. google.maps.Markers의 배열이 있으며 LatLng 위치가 설정되어 있습니다.마커 그룹에 맞게 Google지도의 크기를 조정

배열을 반복하고 마커의 최소/최대 위도와 경도 값을 찾고 모든 마커가 작은 퍼지 요소와 함께 맞도록지도의 중심과 크기를 조정하고 싶습니다.

마커 배열을 반복적으로 처리 할 수는 있지만 처리 할 수있는지도를 중심에두고 크기를 조정하는 방법에 대해서는 잘 모르겠습니다. 주변에 작은 경계 지역이 있으므로 마커가 가장자리에 닿지 않습니다.

지도가 <div>인데 도움이되는지 중요하지는 모르겠지만 320x200 픽셀입니다.

답변

11

당신은

function setBounds() { 

    var bounds = new google.maps.LatLngBounds(); 
    for (var i=0; i < markersArray.length; i++) { 
     bounds.extend(markersArray[i].getPosition()); 
    } 
    map.fitBounds(bounds); 
} 

과 같이 간단 같은 기능을 만들 수 있습니다!

+0

아름다운. 고맙습니다. – larryq

5

the google.maps.Map fitBounds method 다음, 빈 google.maps.LatLngBounds 객체에 마커의 모든 위치를 추가 그것에 fitBounds 전화를 참조하십시오.

var bounds = new google.maps.LatLngBounds(); 
for (var i=0; i < yourArrayOfMarkers.length; i++) { 
    bounds.extend(yourArrayOfMarkers[i].getPosition(); 
} 
yourMap.fitBounds(bounds); 
+0

감사합니다. – larryq

+0

@geocodezip 코드의 오타를 수정할 수 있습니다. 늦은 밤 응답이어야합니다;) – MrUpsidown

+0

고정, 분명히 그것을 실행하지 않았다. – geocodezip

관련 문제