有没有办法在用Javascript编写的UWP Windows应用程序中包含地图?
明显的选择:
谢谢。
答案 0 :(得分:1)
UWP没有内置的JavaScript地图API。但是,您可以使用Bing Maps V8地图控件。如您所知,基于JavaScript的Windows应用程序不使用WebView / WebBrowser限制使用外部托管的JavaScript文件。有两种方法可以解决这个问题。
第一种方法是在iframe中托管您的地图代码。如果完全包含地图功能并且您不需要以编程方式从主应用程序更改地图(不太可能),则此方法可以正常工作。 UWP应用程序不允许您在iframe中的主应用程序和JavaScript代码之间进行通信。
第二个是修改您在应用中引用起始页面的方式,而不是使用本地上下文,使用Web上下文。为此,请打开package.appxmanifest,然后添加" ms-appx-web:///"在开始页面值之前。可能" ms-appx-web:///index.html"。这可能会限制您的应用程序使用基于JavaScript的UWP应用程序中的一些较低级别功能,例如访问文件系统。
在这两种情况下,还要执行以下操作:
您的地图页面之一,建议您使用 您将以下内容添加到页面的开头:
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
这些解决方案都不是完美的。基于JavaScript的Windows UWP的安全性是许多用户使用其他外部主机基于Web的API的主要限制。唯一真正的方法是在Web浏览器控件中托管您的JavaScript应用程序,然后在该代码和.NET代码之间添加一个通信层,然后使用.NET代码访问Windows特定的API,但是如果你走那条路,你也可以使用Apache Cordova来为你做这件事。