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イベントでシミュレートできます。

そのためには、最初のクリックを無視する必要があります。その後が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); 
    } 
}); 
関連する問題