2012-04-30 5 views

답변

1

기본 UI 컨트롤 집합에서 이벤트를 수신 대기 할 수 없습니다. 하지만이 엄격하게 mapTypeControlmap.setMapTypeId()에 대한 클릭을 구별에 집중하는 경우, 당신은 당신이 setMapTypeId()를 호출하고 어떤 상태 관리 코드를 추가 할 수 있습니다 코드 제어한다는 사실을 사용할 수

// First, add a new state var: 
var typeIdChangedInCode = false; 

// Then, anywhere in your code where you call setMapTypeId(), add this: 
typeIdChangedInCode = true; 
map.setMapTypeId(newTypeId); 

// Finally, include state checking code in the map event listener: 
google.maps.event.addListener(map, "maptypeid_changed", function(evnt) { 
    if (typeIdChangedInCode) { 
     //handle the scenario in the non-click way, but REMEMBER TO: 
     typeIdChangedInCode = false; 
    } 
    else { 
     //handle the scenario in the map click way 
    } 
}); 

이 당신을 설정해야합니다을 필요한 두 가지 사건을 처리하십시오.

0
google.maps.event.addListener(map, 'maptypeid_changed', function(e){ 
      alert(map.getMapTypeId()); 
    }); 
+0

프로그래밍 방식의 맹방 변경이나 사용자가 컨트롤을 클릭 한 결과인지 어떻게 알 수 있습니까? 이것은 두 경우 모두에서 발생하는 것으로 보입니다 (이것이 제가 질문하는 이유입니다). –

+0

미안하다. –