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

问题描述:

我想在Windows应用程序中使用OpenLayers 3加载必应地图。不过,我面临着以下错误:OpenLayers 3 - 必应地图不会加载在Windows应用程序

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" /> 

我不希望加载的OpenLayers地图在iframe中,因为那么我必须使用postMessage函数将数据从iframe外部的类传递到iframe。有没有解决方法让Bing地图工作?

不使用iframe,Windows应用程序不会让您加载任何外部脚本引用。我建议看一下使用Apache Cordova来托管iframe中的所有内容,并且还可以访问Windows应用程序的本机特性。

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