2016-02-11 93 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;