Я использую ui-gmap-google-карту AngularJs directive и ui-gmap-marker для маркера с ng-repeat и событие click, вызывающее функцию в контроллере. Все, кажется, работает. Карта загружается с маркером и нажатием маркера для всех маркеров в первый раз, когда я нажимаю на каждый из маркеров. Но со второй попытки на любом маркере щелкнуть не вызывает событие click.событие маркера не запускается во второй раз на картах google
Вот фрагменты код
<ui-gmap-google-map center="map.center" zoom="map.zoom">
<!--<ui-gmap-markers models="map.markers" fit="true" coords="'self'" icon="'icon'" idkey="map.marker.id" click="selectMarker()">-->
<ui-gmap-markers models="map.markers" fit="true" coords="'self'" icon="'icon'" idkey='m.id'>
<ui-gmap-marker ng-repeat="m in map.markers" coords="m" icon="m.icon" ng-click='onMarkerClicked(m.sequenceId)' idkey='m.id'>
</ui-gmap-marker>
</ui-gmap-markers>
</ui-gmap-google-map>
..... такой же результата для 'нажмите' и 'нг-нажмите кнопку' событие ..
$scope.generateMarkers = function (referencePoints) {
$scope.map.markers.length = 0;
//var bounds = new google.maps.LatLngBounds();
for (i = 0; i < referencePoints.length; i++) {
var record = referencePoints[i];
var marker = {
latitude: record.Lat,
longitude: record.Long,
title: record.RoadName,
id: record.ID,
icon: { url: '/content/images/roundcyan.png' },//pin_url(record.ID)//
sequenceId:i
};
//var position = new google.maps.LatLng(record.Lat,record.Long);
//bounds.extend(position);
$scope.map.markers.push(marker);
}
//$scope.map.fitBounds(bounds);
};
.... ..
$scope.onMarkerClicked = function (sequenceId) {
if ($scope.selectedSequenceId >=0) {
$scope.map.markers[$scope.selectedSequenceId].icon = { url: 'http://localhost:xxxxx/content/images/roundcyan.png' };
}
$scope.selectedSequenceId = sequenceId;
$scope.map.markers[sequenceId].icon = { url: 'http://localhost:xxxxx/content/images/roundcyanplus.png' };
$scope.$apply();
};
Используемые версии: Версия: AngularJS v1.2.8, angular-google-maps 2.1.0 – Hasteq
Что-то не так с вашей 'sequenceId' Я догадываюсь. Посмотрите, решает ли его 'sequenceId: i ++' в 'ng-click'. – KayAnn