2016-02-11 4 views
1

Я включил карты Google в ионный проект и применил пользовательский оверлей, чтобы появиться над маркером карты, чтобы отобразить адрес местоположения маркера.Google maps custom overlay click event

Я применил прослушиватель событий кликов к карте, чтобы обнаружить любые клики, а затем очистить и повторно применить новый маркер для нового местоположения. Все идет нормально. Я применил атрибут ng-click для наложения div, чтобы затем выполнить некоторый код. Это тоже работает. Проблема заключается в том, что при нажатии на overlay div, ng-click и map click event-прослушиватель срабатывает, перемещая маркер. Я хочу, чтобы только слушатель 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

Я предлагаю использовать угловые упаковочную Google найти библиотеки API Карт, такие как: http://angular-ui.github.io/angular-google-maps/#!/demo или https: //ngmap.github.io/ – beaver

ответ

0

Ответ на это применить CSS к маркеру DIV, чтобы установить указатель на события auto.

CSS:

pointer-events: auto; 
Смежные вопросы