2013-05-08 3 views
0

다음과 같은 상황이 있습니다 :google maps API v3 events

지도에 폴리선이 추가되고 사용자가 클릭하면 상태가 편집 가능으로 변경됩니다. 또한 사용자가 폴리 라인의 마지막 정점을 클릭하고 사용자가 그리는 마우스 경로로 폴리선을 확장 할 수 있도록 마우스를 움직이기 시작하는 이벤트가 있습니다.

그러나 이벤트가 있고이 이벤트에서 다른 이벤트를 추가하려고하면 단순히 작동하지 않으며 그 이유는 알 수 없습니다.

내 코드의 일부를 붙여 넣을 것입니다.

THRE이 '와 mouseUp'을 청취 여기에 또 다른 이벤트

google.maps.event.addListener(polyLine, "mousedown", function(event){ 
       if(polyLine.getEditable() === true) 
       { 
        if(typeof event.vertex !== "undefined") 
        {  
         if(event.vertex === polyLine.getPath().getLength() - 1) 
         { 
          polyLine.setEditable(false); 

           if(mouseMoveDrawingEvent === null) 
           { 
            map.setOptions({draggable:false}); 
            polyLine.setOptions({clickable:false}); 
            mouseMoveDrawingEvent = google.maps.event.addListener(map, "mousemove", function(event) 
            { 
             alert("1"); // <== this never fires 
             polyLine.getPath().push(event.latLng); 
             drawingLabel.setPoint(event.latLng); 
             drawingLabel.setContents("<div style='background-color:white'>" + (google.maps.geometry.spherical.computeLength(polyLine.getPath())/1000).toFixed(2) + " км.</div>"); 
            }); 
           }  

          map.getDiv().onmouseup = function(ev) { 
           polyLine.setOptions({clickable:true}); 
           map.getDiv().onmousedown = null; 
           map.getDiv().onmouseup = null; 
           google.maps.event.removeListener(mouseMoveDrawingEvent); 
           mouseMoveDrawingEvent = null; 
          }; 
         } 
        } 
       } 
      }); 

은 ..... .... 너희들이 어떻게 코드의 평화가 작동하는지 확인하는 어떤 생각을 가지고 있습니까.

답변

0

내 질문에 대한 해결책을 찾았습니다.

문제는 폴리 라인 {clickable : false}을 설정했을 때 API가 이벤트를 제거하고 (분명히 그 내부에서 윤곽이 잡혀 있음)