gpt4 book ai didi

ios - 开放层 : Loading a TileJSON from a local file

转载 作者:行者123 更新时间:2023-11-29 00:45:44 25 4
gpt4 key购买 nike

我正在尝试通过 Cordova 在 iOS 应用程序中实现 TileJSON 的本地副本。我遇到的问题是 OpenLayers 似乎无法将 JSON 文件识别为有效,因此不显示任何图 block 。我尝试了同一 TileJSON 的本地和远程版本,并查看了控制台日志,本地版本的状态为“错误”(但没有解释该错误可能是什么...)。

我认为问题在于 JSON 文件是使用 file: URL 加载的,而不是 http:。我已将 JSON 文件放在远程服务器上,这不仅可以正常加载,而且实际上从本地路径加载图 block 。

OpenLayers 是否会被欺骗接受本地文件作为有效的 JSON 文件? Cordova 可以强制通过 HTTP 加载本地文件吗?我认为这两个选项都可以解决问题。

谢谢

编辑:这是我用来加载 TileJSON 的代码:

var mapLayer = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: getPhoneGapPath() + 'tiles.json',
crossOrigin: 'anonymous'
})
});
this.map.addLayer(mapLayer);

function getPhoneGapPath() {
var path = window.location.pathname;
path = path.substr( path, path.length - 10 );
return path;
}

getPhoneGapPath() 函数用于获取 Cordova 应用程序的 Webroot 路径。

最佳答案

这可能与 OpenLayers 中的错误有关,https://github.com/openlayers/ol3/issues/5647 .修复将在下一个版本中。

同时确保当应用程序从 file://url 提供服务时,您将 Cordova 配置为允许访问 file://url。 Chrome 中的等效选项是 --allow-file-access-from-files

关于ios - 开放层 : Loading a TileJSON from a local file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38613090/

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