javascript - 禁止 Angularjs 路线更改时谷歌地图重新加载

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

我有一个谷歌地图作为我的网站的背景。它用于单独的路线,以向各个 route 显示的数据添加视觉功能。我想确保它不会在每次路线更改时重新加载,这会导致白色闪光,非常烦人且视觉上不美观。

我认为我可以通过将其移出我的 ng-view 来实现这一目标,因为外部的所有内容都应该是静态的(所以我认为)。

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

我的js来初始化 map

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();

}

目前,在与 View 对应的每个 Controller 中都会调用此方法(否则在路由更改后将不会加载它)。

如何在更改路线后立即停止重新加载或删除?

最佳答案

initMap() 从 Angular View Controller 移至站点的初始化点。

关于javascript - 禁止 Angularjs 路线更改时谷歌地图重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41062257/

相关文章:

javascript - CanActivate,动态 url 解析器(多个嵌套动态段)

javascript - 只有第一个单词的大写首字母

angularjs - Angular : how to express condition in ng-if directive?

javascript - ChartJS、Primeng、Gap First 和 End of Line Chart

javascript - 在 ng-click 上使用数组过滤多个 Angularjs

javascript - 在请求中放置单独的方向 API key

javascript - 在Python中使用函数声明全局变量

javascript - 如何制作 JS 计数器和重置?

android - 如何在 Android GoogleMaps V2 for TalkBack 中为 InfoWindow 或标记添加 contentDestiption

javascript - Twitter Bootstrap Popover 中的谷歌地图