0
Я встроили Google карты в моем веб-приложения с помощью:нг-карты запись широта и долгота
<div>
\t <map ng-transclude class="google-map" center="map.center" options="map.options">
\t <marker position="marker.position" decimals="marker.decimals" options="marker.options" on-click="updatelatlong()"></marker></map>
\t </div>
И контроллер:
$scope.map = {
\t \t center: [39, -121],
\t \t options: function() {
\t \t \t return {
\t \t \t \t streetViewControl: false,
\t \t \t \t scrollwheel: false
\t \t \t }
\t \t }
\t };
\t $scope.marker = {
\t \t position: [39, -121],
\t \t decimals: 4,
\t \t options: function() {
\t \t \t return { draggable: true };
\t \t },
\t \t events:{
\t \t \t drag:function(e, p, map, points) {
\t \t \t \t console.log("dragged.....");
\t \t \t }
\t \t }
\t };
Я пытаюсь g для записи долготы широты, связанной с новым перетаскиваемым маркером. Однако управление не приходит к прослушивателю событий перетаскивания.
Может быть, вы никогда не установить слушателя на маркер? Вы используете свойства position, decimals и options, связывая их с атрибутами, и у вас есть событие onClick для несуществующей функции, но вы ничего не делаете с свойством events. Я не знаком с Google Maps, но это похоже на проблему. –
Atleast drag должно быть напечатано в консольном журнале справа ... и функция updatelatlong определена..control не достигает там –
Я так не думаю. Вы будете регистрироваться только в том случае, если выполняется $ scope.marker.events.drag, и я не вижу, где вы предоставляете это на своей карте. Глядя на https://rawgit.com/allenhwkim/angularjs-google-maps/master/build/docs/marker.html и https://developers.google.com/maps/documentation/javascript/reference#Marker, я думаю, вы хотите поместить функцию перетаскивания в 'on-drag =" "' в теге 'marker'. –