我正在使用 angularJS 和 AngularJS UI 模块在我的应用程序上加载 gmap 并对其事件执行操作。问题是 ui-events 调用函数没有传递写入参数,实际上它没有向模块传递任何东西。
这是我的应用程序模块
angular.module('Maptesting', ['ui.map', 'ui.event'])
.controller('CtrlGMap', ['$scope', function($scope) {
$scope.mapOptions = {
center: new google.maps.LatLng(-54.798112, -68.303375),
zoom: 11,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
$scope.myMarkers = [];
$scope.addMarker = function ($event, $params) {
$scope.myMarkers.push(new google.maps.Markers({
map: $scope.myMap,
position: $event.latLng
}));
};
$scope.markerClicked = function(m) {
window.alert("clicked");
};
}]);
这是我使用 ui-events 进行调用的地图元素
<div ui-map="myMap"
ui-options="mapOptions"
ui-event="{ 'map-click' : 'addMarker($event)'}"
class="map-canvas">
</div>
每当我单击地图时,它都会在控制台上返回此错误:
Uncaught TypeError: Cannot read property 'latLng' of null
我知道错误是因为 $event 为空,但我不知道应该在哪里设置。