微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – ng-map:单击它时如何获取Marker对象?

我正在使用非常酷的 ng-map库用于角度,我想知道如何访问由ng-map marker指令引用的基础标记对象

所以,我有这个标记

<div id="map-search" data-tap-disabled="true">
  <map zoom="15" disable-default-u-i="true">
    <marker ng-repeat=" pos in positions" position="{{pos.latitude}},{{pos.longitude}}" id="{{pos.index}}" on-click="pinClicked()">
    </marker>
  </map>
</div>

在这种情况下,我没有找到在点击事件期间访问Google Maps Marker对象的直接方式;从控制器:

app.controller('MapSearchController',function($scope) {

      $scope.$on('mapInitialized',function(event,map) {
        $scope.map = map;
        //Assume existence of an Array of markers
        $scope.positions = generatePinPositionsArray();
      });

      $scope.pinClicked = function(event,marker) {
        console.log('clicked pin!');
        //HOW CAN I GET THE MARKER OBJECT (The one that was clicked) HERE?
        console.log('the marker ->',marker); //prints undefined
      };
  });

提前致谢,

解决方法

你需要创建一个标记数组!那是(在我看来)唯一的方式.见 here

更新:像这个plunkr这样的东西适合你吗?

想法是在事件上传标记on-click =“pinClicked(this)”.然后你可以在控制器上捕获它:$scope.pinClicked = function(events,marker){…}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐