2012-05-21 3 views
2

확대/축소 Google지도 API를 개별 확대/축소로 제한 할 수 있습니까? 내 말은 2와 6 만 확대/축소 할 수 있고 2-3-4-5-6이 아닐 수 있습니다. 나는 최소 확대/축소와 최대 확대를 보았습니다. 그러나 확대/축소가 단일 범위에서만 가능하기를 원하지 않습니다.Google지도 확대 API

감사합니다, 요시

답변

3

당신은 이것을 모방 할 수 있습니다. API를 사용하면 확대를 놓칠 수 없습니다.

zoom_changed 이벤트는 더 이상 변경 사항에 대해 알려주지 않습니다. 버전 2에서는 이전 확대/축소 수준과 새 수준을 알 수있었습니다.

따라서, 당신은 당신이 줌 2에 있고 사용자가 확대되는 경우 버전 3

에 추측이 API는 그래서 당신은지도 여부 zoom_changed 이벤트, 테스트를 가로 챌 수 있습니다 3. 확대로 이동합니다 레벨 3에서 지금과 당신은 다른 방향으로 동일한 기능을 수행 할 수있는 수준 6에 넣어 : 그것은 2

// Untested code 
google.maps.event.addListener(map,'zoom_changed',function() { 
    if (map.getZoom() == 3) map.setZoom(6); 
    if (map.getZoom() == 5) map.setZoom(2); 
}); 

참고이 있는지 확인,지도 (6)에서 레벨 5에 있어야하는 경우 사용자가 확대/축소 슬라이더를 사용하고 2에서 5로 직접 이동하면이 도움이되지 않습니다. 이벤트 처리기는 현재 확대/축소를 5, 그것이 6 단계에서 한 단계 만 움직이고 다시 2로 설정됩니다. 슬라이더를 사용하여 확대/축소 4를 얻는 경우에도 도움이되지 않습니다. 이러한 상황에서 어떤 일이 일어나야하는지 결정해야합니다. 슬라이더가없는지도 컨트롤의 제한된 세트를 사용하고자 할 수 있습니다.

당신의 대한 zoom_changed 이벤트에 대한 리스너를 추가 줌을 확인하고는이 변수의 인스턴스를 보유 '지도'가정 6.

(2 가까이 또는 더 가까이 여부에 따라 줌을 설정할 수 있습니다

+0

광산이 추가되었지만 광산에서 확대/축소 컨트롤을 제거하지 않아도되므로/다른 확대/축소 방법과 함께 사용할 수 있습니다. – ScottE

+0

@ScottE : 광산은 줌 슬라이더에 대처하지 않습니다. 너는 줌 버튼에 대처하지 못한다. 줌 이벤트가 버전 2처럼 작동하면 훨씬 쉬울 것입니다. –

1

잘 당신은지도를 클릭하세요에 함수 getZoom()를 사용할 수 있습니다. 줌 레벨이 변경되었는지 확인하십시오. 적절한 줌 레벨을 설정하기 위해 setZoom을 사용하십시오. click here for help

1

지도)

google.maps.event.addListener(map, 'zoom_changed', function() { 

    var currentZoom = map.getZoom(); 
    if (currentZoom !== 2 && currentZoom !==6) { 
    if (currentZoom <=4) { 
     map.setZoom(2); 
    } else { 
     map.setZoom(6); 
    } 
    } 

});