【发布时间】:2016-11-20 23:16:25
【问题描述】:
我有一个使用谷歌地图 API 的 Angular WebApp。它在 html 视图中加载。单击状态更改为另一个页面并加载地图。这是第一次运行良好。当我返回加载页面时,我的控制台显示:您已在此页面上多次包含 Google Maps API。这可能会导致意外错误。当我再次加载地图时,发生了一些意外错误。
所以我的问题是:是否可以重置 google Maps API 以便每次返回时都会刷新?或者我可以删除实例还是我该怎么办?
我正在使用 angular google maps 指令:https://angular-ui.github.io/ 并通过以下方式实现它:
<script src="https://maps.googleapis.com/maps/api/js?key=XXXXXX" type="text/javascript">
在加载它的页面上。
地图页面已加载解析“uiGmapgoogle-maps”指令。
我正在使用内联 javascript,因为我无法弄清楚如何将 api 密钥传递给指令设置。我在谷歌地图页面之前加载它,所以地图加载得很好。
说明第一页:
.state('apps.vermittlungDetail', {
url: '/vermittlung/detail/:taskID',
templateUrl: 'tpl/apps_vermittlung_detail.html',
controller: 'XeditableCtrl',
resolve: load( ['ui.select','toaster','js/app/globalServices/global-services.js','js/app/vermittlung/newTask-service.js','js/controllers/bootstrap.js','js/app/vermittlung/vermittlung-detail.js','js/app/annulation/annulation-service.js','js/app/smsTool/smsTool-service.js','js/app/emailMami/emailmami-service.js' ,'js/app/vermittlung/vermittlung-service.js', 'smart-table','xeditable','js/controllers/xeditable.js', 'moment'])
})
状态第二页(地图)
.state('apps.vermittlungGoogleMap', {
url: '/vermittlungMap',
templateUrl: 'tpl/apps_vermittlung_googlemap.html',
resolve: load( ['uiGmapgoogle-maps','toaster','js/app/vermittlung/vermittlung-detail.js', 'js/app/vermittlung/vermittlung-service.js'])
})
HTML 第二页
<div ng-controller="vermittlungDetailCtrl"> <!--SET CONTROLLER-->
<ui-gmap-google-map center='map.center' zoom='map.zoom'>
<ui-gmap-markers models="markers" coords="'self'" icon="'icon'" options="markers.options" click="onClickMarker">
</ui-gmap-markers>
<ui-gmap-window options="windowOptions" show="showWindow" coords="windowData.model" closeClick="closeClick()">
<div>
<div class="m-b-sm">{{currentMarkerTitle}}<br>{{currentMarkerPhone}}</div>
<button class="btn btn-info btn-xs" ng-click="$parent.sendMamiSMS($parent.tasktosend,$parent.currentMarkerPhone,$parent.currentMarkerTitle)">SMS senden</button>
</div>
</ui-gmap-window>
</ui-gmap-google-map>
</div>
【问题讨论】:
标签: angularjs google-maps