【发布时间】:2016-05-22 17:49:31
【问题描述】:
我已将 google 地图集成到 ionic 项目中,并已应用自定义叠加层显示在地图标记上方以显示标记位置的地址。
我已将点击事件侦听器应用于地图以检测任何点击,然后清除并为新位置重新应用新标记。到目前为止,一切都很好。我已将 ng-click 属性应用于覆盖 div,然后执行一些代码。这也有效。我遇到的问题是,当单击覆盖 div 时,ng-click 和 map click 事件侦听器都会触发,移动标记。我只想让 div 监听器触发,但似乎无法实现这一点。
我在这里遗漏了一些简单的东西吗?
请参阅以下代码和此代码笔以获取工作示例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>
非常感谢任何帮助。
谢谢
【问题讨论】:
-
我建议使用封装 Google Maps API 的 Angular 库,例如:angular-ui.github.io/angular-google-maps/#!/demo 或 ngmap.github.io
标签: javascript angularjs google-maps ionic-framework