2016-02-11 92 views
1

我已经将谷歌地图整合到一个离子项目中,并应用了自定义覆盖图显示在地图标记上方以显示标记位置的地址。谷歌地图自定义覆盖点击事件

我已将点击事件侦听器应用于地图以检测任何点击,然后清除并重新应用新位置的新标记。到现在为止还挺好。我已经将ng-click属性应用于覆盖div,然后执行一些代码。这也适用。我遇到的问题是,当点击叠加div时,ng-click和map点击事件侦听器都会触发,移动标记。我只想要div侦听器启动,但似乎无法实现这一点。

我在这里错过了一些简单的东西吗?

请参见下面的代码,这codepen的工作示例http://codepen.io/antonfire/pen/LGMqJz

我在听的地图,像这样的:

  $scope.map = new google.maps.Map(document.getElementById("map"), mapOptions); 


      $scope.map.addListener('click', function(event) { 
       placeMarker(event.latLng); 
      }); 

,并没有对标记的div一个倾听者,而我正在使用ng-click属性:

<div id="map" data-tap-disabled="true"></div> 
    <div id="customMapMarkerDiv" ng-click="choosePassportLocation(chosenPassport)"><i class="icon ion-plane"></i><h5> {{chosenPassport.address}}</h5></div> 

任何帮助将非常感激。

感谢

+0

我建议使用角度libaries包裹谷歌地图API,如:http://angular-ui.github.io/angular-google-maps/#!/demo或https: //ngmap.github.io/ – beaver

回答

0

这个问题的答案是应用CSS来标记div来设置指针事件auto

CSS:

pointer-events: auto;