Javascript 从指令AngujarJs实例化映射
我已经指示在我的网站上加载google maps api: 我的问题是:如何实例化地图,然后在不同视图上添加一些单击侦听器,这是最好的方法 我正在使用ngView指令加载次视图:Javascript 从指令AngujarJs实例化映射,javascript,google-maps,angularjs,singleton,Javascript,Google Maps,Angularjs,Singleton,我已经指示在我的网站上加载google maps api: 我的问题是:如何实例化地图,然后在不同视图上添加一些单击侦听器,这是最好的方法 我正在使用ngView指令加载次视图: 'use strict'; var climbingApp = angular.module('climbingApp', ['ngRoute', 'maps'], function( $routeProvider ){ $routeProvider.when('/', {
'use strict';
var climbingApp = angular.module('climbingApp', ['ngRoute', 'maps'],
function( $routeProvider ){
$routeProvider.when('/', {
controller: 'Main'
});
$routeProvider.when ('/newSector', {
templateUrl: 'app/templates/newSector.html',
controller: 'addSector'
});
}
);
在newSector控制器中,我使用服务添加侦听器:
climbingApp.factory('Markers', function( $rootScope ){
return {
addListener: function( mapInstance, callback ) {
google.maps.event.addListener(
mapInstance,
'click',
function( e ) {
var marker = new google.maps.Marker({
position: e.latLng,
map: mapInstance
});
$rootScope.$apply( function(){ callback( e ); });
}
);
}
}
});
但是这样做,我无法从主控制器中删除侦听器,因为我无法引用map实例。你知道我该怎么做吗?我是被称为ng地图的创建者。对于简单的功能,这不需要任何Javascript编码
对于您的情况,使用该指令,您只需将“on click”属性添加到map
tag
<map zoom="11" center="[40.74, -74.18]" on-click="myfunc()">
</map>`
`
更多详情请访问