AngularUI Map プラグインを使用して、ビューの 1 つに Google マップ マップをレンダリングすることにしました。
テンプレートは次のようになります。
<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;
...
プラグインは常にマップを再初期化します。プラグインの使用をやめて、この 非プラグイン ソリューションのようなソリューションを採用する必要がありますか?
ありがとうございました。