Javascript Angularjs google地图标记事件不工作

Javascript Angularjs google地图标记事件不工作,javascript,angularjs,Javascript,Angularjs,我用过谷歌地图。标记事件不工作 我在用这个 视图侧: <ui-gmap-markers models="mapResult" fit="true" idkey="mapResult.id" coords="'form_geo'" click="'onclick'" events="mapResult.events" > <ui-gmap-windows show="show" closeClick=

我用过谷歌地图。标记事件不工作 我在用这个 视图侧:

 <ui-gmap-markers models="mapResult" fit="true" idkey="mapResult.id" coords="'form_geo'" click="'onclick'"  events="mapResult.events"  >

                                    <ui-gmap-windows show="show" closeClick="closeClick()">
                                         <div ng-controller="MapsDemoCtrl" ng-non-bindable>

                                                <span style="color:#000;font-weight:bold;">
                                                     Formname :  <a href='#/formspostview/{{id}}' style="color:#000;">
                                                                    {{form_name}}
                                                                 </a><br>
                                                     Username :   {{user_name}}<br>

                                                     Date     :   {{createdAt | date: "MM/dd/yyyy H:mm"}}<br>      
                                                </span>   

                                      </div>
                                    </ui-gmap-windows>
                                </ui-gmap-markers>

你能帮我吗?如何使用标记事件?

以下示例演示如何通过ui gmap markers指令将单击事件处理程序附加到标记:

$scope.map.markersEvents = {
      click: function (marker, eventName, model, args) {
          //...
      }
};
在哪里

html、正文、地图和画布{ 身高:100%; 宽度:100%; 边际:0px; } 地图画布{ 位置:相对位置; } .google地图容器{ 位置:绝对位置; 排名:0; 底部:0; 右:0; 左:0; } {{城市}
您也可以这样做: 需要在控制器上注入$interval

var ctrl = this;

var count = 1;

var clock;

ctrl.map;

var lat = -23.56;

var long = -46.65;

// Start Hold To Mark Controller
var startCount = function(event){
  count = 1;
  if ( angular.isDefined(clock) ) return;
  clock = $interval(function() {
    if(count > 0){
      count = count - 1;
    } else{
      addMarker(event.latLng);
      stopCount();
    }
  }, 500);
};

var stopCount = function(){
  if (angular.isDefined(clock)) {
    $interval.cancel(clock);
    clock = undefined;
  }
};

$scope.$on('$destroy', function() {
  stopCount();
});
// End Hold To Mark Controller

// Start GoogleMaps Map Controller
function initMap() {
  if(lat == null || long == null){
    var center = { lat: -23.56, lng: -46.65 };
  } else{
    var center = { lat: lat, lng: long };
  }

  ctrl.map = new google.maps.Map(document.getElementById('map'), {
    disableDefaultUI: true,
    zoom: 12,
    center: center
  });

  google.maps.event.addListener(ctrl.map, 'mousedown', function(event) {
    startCount(event);
  });

  google.maps.event.addListener(ctrl.map, 'mouseup', function(event) {
    stopCount();
  });

  google.maps.event.addListener(ctrl.map, 'dragstart', function(event) {
    stopCount();
  });
};

function addMarker(location) {
  var marker = new google.maps.Marker({
    animation: google.maps.Animation.DROP,
    draggable: true,
    position: location,
    map: ctrl.map
  });
  markers.push(marker);
};

initMap();
// End GoogleMaps Map Controller

如果你在1秒钟后取下手指或移动手指,它会在该位置上做一个标记。标记将不会被创建。

coords='form\u geo'click='onclick'-为什么有双四分之一?
<ui-gmap-markers models="map.markers" coords="'coords'" icon="'icon'" options="'options'" events="map.markersEvents">          
</ui-gmap-markers>
var ctrl = this;

var count = 1;

var clock;

ctrl.map;

var lat = -23.56;

var long = -46.65;

// Start Hold To Mark Controller
var startCount = function(event){
  count = 1;
  if ( angular.isDefined(clock) ) return;
  clock = $interval(function() {
    if(count > 0){
      count = count - 1;
    } else{
      addMarker(event.latLng);
      stopCount();
    }
  }, 500);
};

var stopCount = function(){
  if (angular.isDefined(clock)) {
    $interval.cancel(clock);
    clock = undefined;
  }
};

$scope.$on('$destroy', function() {
  stopCount();
});
// End Hold To Mark Controller

// Start GoogleMaps Map Controller
function initMap() {
  if(lat == null || long == null){
    var center = { lat: -23.56, lng: -46.65 };
  } else{
    var center = { lat: lat, lng: long };
  }

  ctrl.map = new google.maps.Map(document.getElementById('map'), {
    disableDefaultUI: true,
    zoom: 12,
    center: center
  });

  google.maps.event.addListener(ctrl.map, 'mousedown', function(event) {
    startCount(event);
  });

  google.maps.event.addListener(ctrl.map, 'mouseup', function(event) {
    stopCount();
  });

  google.maps.event.addListener(ctrl.map, 'dragstart', function(event) {
    stopCount();
  });
};

function addMarker(location) {
  var marker = new google.maps.Marker({
    animation: google.maps.Animation.DROP,
    draggable: true,
    position: location,
    map: ctrl.map
  });
  markers.push(marker);
};

initMap();
// End GoogleMaps Map Controller