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 应用程序中加载的主要内容,如果未能解决你的问题,请参考以下文章