gpt4 book ai didi

javascript - 在 Google map 中加载 KmlLayers 是否成功?

转载 作者:行者123 更新时间:2023-11-29 15:47:38 24 4
gpt4 key购买 nike

我正在使用 Google Maps Javascript API v3 将一些 KML 文件加载到 map 上。但是,对于某些层,我会以各种方式返回 TIMED_OUT、FETCH_ERROR 和 OK。我已经获取了每个的 URL 并将其放入 maps.google.com,其中图层总是加载得很好。有没有其他人遇到层加载不一致的问题?更重要的是,是否可以采取任何措施让 Google map 在被询问时始终加载图层?

我已经包含了我用于加载图层的代码,尽管我相当确定它没有错误,因为图层有时确实会加载。

    function addMapLayer(url) {
console.log('Attempting to add layer at: ' + url);
var layer = new google.maps.KmlLayer(url, {
preserveViewport: true,
map: maps.BirdMap.map
});

google.maps.event.addListener(layer, 'status_changed', function () {
console.log('KML load: ' + layer.getStatus());
if (layer.getStatus() != 'OK') {
$('#maps-error').text('[' + layer.getStatus() + '] Google Maps could not load the layer. Please try again later.');
$('#maps-error').dialog('open');
} else {
layers.push(layer);
}
});
}

最佳答案

加载 KmlLayers 取决于几个不受控制的因素,例如托管 KML(假设这是您的服务器)文件的服务器与必须下载它的 Google 服务器之间的网络。此网络(或您的服务器)越慢,Google 服务器越容易无法获取文件。我很确定谷歌服务器不会为你的文件等待太久,所以如果网络或你的服务器很慢,它可能会放弃并给你一个错误。而且我认为没有任何重试机制,因为我已经多次看到这种情况发生(在慢速服务器上使用大文件)并且重试的唯一方法是重新加载您的页面,以便 JavaScript API 再次请求图层。

参见 this answer一些需要注意的事情。

关于javascript - 在 Google map 中加载 KmlLayers 是否成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com