0

我正在为Visual Studio Community 2015中的WP8.1 [WinJS 4.3/HTML]开发javascript/html应用程序,现在我处于实现地图的一部分。Visual Studio 2015:无法引用Bing地图库

不幸的是,我似乎无法引用javascript api(bing ajax)...似乎在我的数据透视图项目中实现这个功能并没有正确获取库(根本没有做到更具体)遵循这里的步骤https://msdn.microsoft.com/en-us/library/gg427624.aspx从服务器下载库:

<script charset="UTF-8" type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 

无法引用它,并使用“微软”。命名空间以错误结尾。

所以我试图安装VS的bing地图扩展,它被安装,但我不能在VS2015社区中添加扩展的引用。 https://visualstudiogallery.msdn.microsoft.com/224eb93a-ebc4-46ba-9be7-90ee777ad9e1

<script type="text/javascript" src="ms-appx:///Bing.Maps.JavaScript//js/veapicore.js"></script> 

但这仍然没有任何成功。

因此,我没有图书馆和任何地图卡住了。任何机会都会有一个离线版本的bing maps javascript api我可以下载并参考与WinJS相同的方式。

回答

0

这已经在Bing地图博客上进行了介绍,并且是今年Microsoft/Build/conference上的一个主题。下面是视频:https://channel9.msdn.com/Blogs/Best-of-Build-2015-Cloud/Visualizing-Business-Data-on-any-Device-with-Bing-Maps

这里是一个博客帖子:https://blogs.bing.com/maps/2013/06/28/cross-platform-development-with-bing-maps-and-phonegap/

基本上,您需要使用Web网址:

<script charset="UTF-8" type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 

但是你当你去加载地图,你会需要等待Microsoft命名空间变为可用。或者在document.body.onload事件中加载映射。这里是你如何可以等待微软的命名空间加载地图前:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 
    <script type="text/javascript"> 
     var map = null; 

     function getMap() 
     { 
      var mapElement = document.getElementById('myMap'); 

      if (typeof Microsoft == 'undefined' || 
       typeof Microsoft.Maps == 'undefined' || 
       mapElement == null) { 
       setTimeout(getMap, 100); 
       return; 
      } 

      map = new Microsoft.Maps.Map(mapElement, { credentials: 'Your Bing Maps Key' }); 
     } 

     getMap(); 
    </script> 
</head> 
<body> 
    <div id='myMap' style="position:relative; width:400px; height:400px;"></div> 
</body> 
</html> 
+0

不幸的是我仍然看到错误:我仍然收到此错误。 “APPHOST9601:无法加载。应用程序无法在本地上下文中加载远程Web内容。”即使我在应用程序清单中的中允许该特定的URL,也是如此。我一定做错了什么。 – belzebu

+1

您是否在VS2015或通用Windows应用程序中创建WP8.1 Apache Cordova应用程序?以上与Cordova完美结合。对于通用应用程序安全性可以防止这种情况发生解决此问题的方法是使用此代码示例中显示的iframe:https://code.msdn.microsoft.com/windowsapps/Mashup-Sample-10689f5b – rbrundritt

+1

下面是一个与代码示例相关的文章:https:/ /msdn.microsoft.com/library/windows/apps/hh452745?f=255&MSPPError=-2147217396 – rbrundritt

0

您发布的例子似乎仍然像它专为网页应用,所以它引用外部JS文件。

如果你需要调用一个JS文件,它永远不会是外部的,所以如果你看到一个具有src =“http:// ...”的例子,就知道它不会工作,或者你将有在本地下载它。

尝试此链接:https://msdn.microsoft.com/en-us/library/hh852186.aspx

它切换到所有本地引用。

该文章有一个完整的例子,这有助于我的版本工作。

现在,如果他们只移植离线地图选项...