2016-08-12 3 views
0

ammaps를 사용하는 응용 프로그램에서 작업 중입니다. 경도와 위도 값을 기반으로지도에 여러 점이 있습니다. 다음 코드를 사용하여 단일 클릭 기능을 구현했습니다.AngularJS를 사용하여 amMaps에서지도 객체를 두 번 클릭하십시오.

map.addListener("clickMapObject", function (event) { 
         $scope.$apply(function(){ 
          $scope.colorPoints(); 
          $scope.selectedRow = event.mapObject.idBase; 
         }); 
       }); 

더블 클릭 기능을 구현하고 싶습니다. 아무도 저에게 amMaps에서 어떻게 할 수 있는지 알려 주실 수 있습니까?

답변

1

기술적으로 amMap은 두 번 클릭 이벤트를 지원하지 않습니다. 그러나 clickMapObject 이벤트로 시뮬레이션 할 수 있습니다.

첫 번째 클릭을 무시해야합니다. 후속 clickMapObject이 500ms 이내에 발생하면 더블 클릭으로 등록하십시오. 이 같은

뭔가 :

map.addListener("clickMapObject", function(event) { 
    if (false !== map.clickedObject && map.clickedObject === event.mapObject) { 
    // doubleckick 
    map.clickedObject = false; 
    $scope.$apply(function() { 
     $scope.colorPoints(); 
     $scope.selectedRow = event.mapObject.idBase; 
    }); 
    } else { 
    clearTimeout(map.clickedObjectTimeout); 
    map.clickedObject = event.mapObject; 
    map.clickedObjectTimeout = setTimeout(function() { 
     map.clickedObject = false; 
    }, 500); 
    } 
});