【问题标题】:Double click on a map object in amMaps using AngularJS使用AngularJS双击amMaps中的地图对象
【发布时间】:2016-08-12 19:39:36
【问题描述】:

我正在开发一个使用 ammaps 的应用程序。我根据经度和纬度值在地图上定位了许多点。我通过使用以下代码实现了单击功能:

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

我想实现双击的功能。谁能告诉我如何在 amMaps 中做到这一点。

【问题讨论】:

    标签: angularjs amcharts ammap


    【解决方案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 );
      }
    } );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多