Javascript Google Map JS API-地图分幅加载,但所有图像(标记、缩放控制等)都不';t装载2分钟

Javascript Google Map JS API-地图分幅加载,但所有图像(标记、缩放控制等)都不';t装载2分钟,javascript,google-maps,google-maps-api-3,knockout.js,Javascript,Google Maps,Google Maps Api 3,Knockout.js,我正在使用谷歌地图api 3(JS),一切都正常……有一个重大问题困扰着我。如我所料,地图将加载并显示在页面上。但是,每次页面加载时,缩放控制左下角的google徽标和图钉图像都不会持续加载2分钟。我在chrome dev tools中观看了页面加载和整个页面加载,然后坐了2分钟,剩下的7个图像在2分钟后突然加载,列表中没有其他项目显示它可能已经停止或阻止了请求。我使用Internet Explorer和Chrome浏览器从PC的安卓手机等获得了相同的结果。我还从我们的私人网络以及其他网络(个人

我正在使用谷歌地图api 3(JS),一切都正常……有一个重大问题困扰着我。如我所料,地图将加载并显示在页面上。但是,每次页面加载时,缩放控制左下角的google徽标和图钉图像都不会持续加载2分钟。我在chrome dev tools中观看了页面加载和整个页面加载,然后坐了2分钟,剩下的7个图像在2分钟后突然加载,列表中没有其他项目显示它可能已经停止或阻止了请求。我使用Internet Explorer和Chrome浏览器从PC的安卓手机等获得了相同的结果。我还从我们的私人网络以及其他网络(个人和公共)测试了这个,请帮助。提前谢谢

以下是我的一些代码:

在页眉中生成api脚本:

// Setup google maps JS file
var script = document.createElement('script');
var asyncAttr = document.createAttribute('async');
var deferAttr = document.createAttribute('defer');
script.setAttributeNode(asyncAttr);
script.setAttributeNode(deferAttr);
script.setAttribute('type', 'text/javascript');
script.src = _googleMapJsPath;
document.getElementsByTagName("head")[0].appendChild(script);
这将生成(本地主机没有密钥-服务器上存在密钥):

设置标记:

$.each(newMap.points, function (index, item) {
    if (item.latitude != 0 && item.longitude != 0) {
        var marker = new google.maps.Marker({
            position: {lat: item.latitude, lng: item.longitude},
            map: self.currentMap,
            optimized: false
        });

        self.markers.push(marker);
    }
});
以下是HTML元素:

<div id="mapDiv" class="map-container"></div>

这种情况是否只发生在您的计算机或多个设备、浏览器上?这将是一个奇怪的答案,但我已经禁用了firebug,如果你有firebug,它对我很好。
另外,由于我没有看到您的代码,您的JScript文件在哪里?这可能会改变优先事项。我只是根据你到目前为止提供的情况猜测

我们已经发现,这个问题特定于用于此应用程序的自定义JS框架。我们的地图在3页中有2页按预期工作。我们只需纠正问题1页面上的挂起问题。谢谢大家!

这在我测试过的每台设备(PC的手机等)上都会发生。我没有使用firebug。GoogleAPI脚本位于页首的顶部,而我实现地图的代码位于底部。我没有在api脚本查询字符串中使用回调,因为我必须在需要时加载地图,而不是一直加载。您是否尝试减少加载的标记/图像的数量?查看它是否也会减少加载它们所需的时间?这是指仅渲染一个点/标记。
$.each(newMap.points, function (index, item) {
    if (item.latitude != 0 && item.longitude != 0) {
        var marker = new google.maps.Marker({
            position: {lat: item.latitude, lng: item.longitude},
            map: self.currentMap,
            optimized: false
        });

        self.markers.push(marker);
    }
});
<div id="mapDiv" class="map-container"></div>
.map-container {
    width: 580px;
    height: 580px;
}