OpenLayers 3 - Bing 地图不会在 Windows 应用程序中加载

Posted

技术标签:

【中文标题】OpenLayers 3 - Bing 地图不会在 Windows 应用程序中加载【英文标题】:OpenLayers 3 - Bing maps won't load in Windows App 【发布时间】:2016-05-30 11:03:16 【问题描述】:

我正在尝试在 Windows 应用程序中使用 OpenLayers 3 加载 Bing 地图。但是,我面临以下错误:

APPHOST9601: Can’t load <https://dev.virtualearth.net/REST/v1/Imagery/Metadata/AerialWithLabels?uriScheme=https&include=ImageryProviders&key=Ao9wqOnCiDvABI4LnDdguzUE0lbF1PiAcDSYHkKdezCage1xuUXY2emXAuHzdOUX&jsonp=olc_9>. An app can’t load remote web content in the local context.

我尝试将以下行添加到清单中的 ContentUriRules 中,但没有成功:

<Rule Match="https://dev.virtualearth.net/*" Type="include" />

我不想在 iframe 中加载 OpenLayers 地图,因为我必须使用 postMessage 函数将数据从 iframe 之外的类传递到 iframe。是否有使 Bing 地图正常工作的解决方法?

【问题讨论】:

【参考方案1】:

如果不使用 iframe,Windows 应用将不允许您加载任何外部脚本引用。我建议您使用 Apache Cordova,它在 iframe 中托管所有内容,还可以让您访问 Windows 应用程序的本机功能。

【讨论】:

【参考方案2】:

我已经设法解决了这个问题,方法是向 OL 库添加一个函数,该函数在不使用 JSONP 的情况下加载包含 JSON 数据的 url。现在数据被视为 JSON 而不是 javascript(JSONP 固有),因此不再适用安全限制。

【讨论】:

【参考方案3】:

此请求的加载时间可能很长。我想知道我们是否可以避免每次刷新窗口时都这样做。

我也有立体投影的问题,但其他都可以。

【讨论】:

以上是关于OpenLayers 3 - Bing 地图不会在 Windows 应用程序中加载的主要内容,如果未能解决你的问题,请参考以下文章

OpenLayers:被破坏的特征在放大或缩小后重新出现

在 Geoserver 上显示 Bing 图像

用 QGIS 画矢量交通路线图

为啥 OpenLayers-3 加载太多地图?

OpenLayers 3 之 添加地图网格

如何使用Openlayers 3加载谷歌离线地图