我决定使用AngularUI Map插件在我的一个视图中呈现Google Maps地图。
模板如下所示:
<div id="map">
<div ui-map="map" ui-options="mapOptions" id="map-canvas"
ui-event="{'map-click': 'placeMarker($event, $params)'}">
</div>
</div>
地图存储在控制器的地图范围变量中。我通过在控制器主体中显式创建此变量来强制执行此操作:#scope.map = {};
我想要的是将此地图对象外部化为服务,以避免每次访问视图时都重新创建它。
我写的服务看起来像这样:
evee.factory('mapService', [function () {
return {
};
}]);
控制器代码如下所示:
var LocationController = function($scope, mapService) {
$scope.map = mapService;
...
我无法使其工作,插件总是重新初始化地图。 我应该放弃插件的使用并采用这样的解决方案 non-plugin solution?
谢谢。