最近陷入这个奇怪的问题。我不仅仅是一名网络程序员,而且我只是冒险开发应用程序。我一直在尝试使用HTML在Windows Phone 8.1上开发这个地图应用程序,我遇到了一个问题。
当我尝试集成Bing地图时,我应该将其作为脚本添加到我的HTML页面中:http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-gb
现在,当我尝试使用
初始化我的地图时 if (Microsoft.Maps.ClientRegion) {
Microsoft.Maps.loadModule('Microsoft.Maps.Map', { callback: getMap });
} else {
getMap();
}
Visual Studio中断执行并告诉我“Microsoft”未定义。它没有意义,因为此代码在浏览器中完美运行。我尝试链接到我服务器上的另一个脚本文件,并调用一个随机函数来显示“hello world”并且它有效。所以,这显然意味着应用程序引用外部脚本没有问题。
我放弃了Bing并尝试在我的应用中部署Google地图。同样的事情,除了它现在说,“谷歌”是未定义的。
我不知道这里发生了什么。任何形式的帮助表示赞赏! Fyi,我在文档加载后也调用了init()。
提前致谢!
修改 需要说明的是,这不是通过浏览器运行的Web应用程序。我可以选择在Visual Studio中使用HTML进行编码,直到出现这种情况它才能正常工作。我还部分开发了一个使用HTML的Windows 8桌面应用程序,并使用Bing Maps集成了映射功能,并且效果很好。
我不明白的是,移动应用程序的代码如何通过浏览器很好地工作,在Windows应用商店应用程序上运行良好,但在直接通过Visual Studio编码时根本不起作用。我很确定我错过了什么。我希望有人可以解决这个问题。基本上,这一行:
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-gb"></script>
应该让我运行我上面提到的代码。但是,编译器告诉我“Microsoft”未定义。
答案 0 :(得分:1)
查看此代码示例,该示例演示如何在WP中使用Bing Maps JavaScript控件。 http://code.msdn.microsoft.com/Cross-Platform-Bing-Maps-e96600d5
答案 1 :(得分:1)
实际上你可以将Win8.1的bing APi添加到WP8.1,只需破解bing map APi dll并将文件设置为Visual Studio并添加这样的引用
<!-- Bing Maps references -->
<script type="text/javascript" src="/Bing.Maps.JavaScript/js/veapicore.js"></script>
<script type="text/javascript" src="/Bing.Maps.JavaScript/js/veapiModules.js"></script>
然后在使用Win8.1时正常工作,请参阅我的项目。顺便说一下,添加一个代码来验证连接状态,只有当连接退出时才会使这个地图工作(如果你手动添加一些图钉,它可以在没有连接的情况下工作)