禁止在Angularjs路线更改上重新加载谷歌地图

时间:2016-12-09 14:06:42

标签: javascript angularjs google-maps google-maps-api-3 angularjs-ng-route

我有一个谷歌地图作为我的网站的背景。它用于不同的路由,为各种路径中显示的数据添加可视化功能。我想确保这不会在每次路线更改时重新加载,导致白色闪光非常烦人且视觉上不愉快。

我认为我可以通过将它移出我的视图来实现这一点,因为外面的一切都应该是静态的(所以我想)。

<div id="map"></div>
<div ng-view class="main-container"></div>

我的js初始化地图

function initMap() {
    var mapOptions = {
        zoom: 5,
        center: new google.maps.LatLng(50, 10),
        mapTypeIds: "ROADMAP",
        mapTypeControl: false,
        styles: [/*map styles*/]
    };

    var mapElement = document.getElementById('map');
    map = new google.maps.Map(mapElement, mapOptions);
    var infoWindow = new google.maps.InfoWindow();

}

目前,在与视图对应的每个控制器中调用此方法(否则在路由更改后不会加载)。

如果我更改路线,如何停止重新加载或删除?

1 个答案:

答案 0 :(得分:1)

initMap()从Angular视图控制器移出到站点的初始化点。