您可以制作简单的 JS 脚本,无需 Angular 即可在页面上加载。
您可以像这样初始化 GMap:
var mapData;
container.gmap(
{
'zoomControl': true,
'zoomControlOptions': {
'style': google.maps.ZoomControlStyle.SMALL,
'position': google.maps.ControlPosition[ options.mapZoomPosition ]
},
'panControl': false,
'streetViewControl': false,
'mapTypeControl': false,
'overviewMapControl': false,
'scrollwheel': false,
'draggable': options.draggable,
'mapTypeId': google.maps.MapTypeId[ options.mapType ],
'zoom': options.mapZoom,
'styles': styles[ options.mapStyle ]
})
.bind('init', function () {
mapData = {
container: container,
map: map,
options: options,
addMarker: addMarker,
library: library,
iw: {
data: infoWindowData,
window: infoWindow,
content: infoWindowContent,
open: infoWindowOpen,
close: infoWindowClose
}
};
}
然后您可以在 GMaps 完成初始化时触发事件:
google.maps.event.addListenerOnce(map, 'idle', function () {
$(document).trigger('map.init', mapData);
});
然后你可以在 Angular 中捕获它:
var mapData;
$(document).on('map.init', function (event,data) {
mapData = data;
});
然后就可以正常使用了,比如设置缩放:
mapData.map.setZoom(50);