WP7 Bing Maps“Invalid Credentials”错误

6
我正在尝试在Windows Phone 7 Silverlight应用程序上使用Bing地图控件,但是它显示了地图上叠加的错误信息。
"Invalid Credentials, Sign up for a Developer Account"
我已经尝试使用这两个网站的应用ID:http://www.bing.com/developershttps://www.bingmapsportal.com/。我是否做错了什么?是否有一些账户设置我忽略了?为了参考,以下是我如何定义该控件并与之交互的方式:
<my:Map x:Name="MyMap" CredentialsProvider="<<myAppId>>"  />

在代码背后:

var vm = this.DataContext as ItemViewModel;
Pushpin pushpin = new Pushpin();
Location location = new Location()
{
    Latitude = vm.Latitude,
    Longitude = vm.Longitude
};
pushpin.Location = location;

MyMap.ZoomLevel = 15;
MyMap.Center = location;
MyMap.Children.Add(pushpin);
2个回答

4
请前往http://bingmapsportal.com并使用您的Windows Live ID登录。登录后,在左侧菜单中单击创建或查看密钥。如果您还没有创建应用程序,请输入名称、URL并选择类型(移动),以创建应用程序。创建应用程序后,复制长字符串并将其粘贴到XAML中作为CredentialsProvider属性的值即可。
<my:Map CredentialsProvider="NOTREALVF7QTW-LZfG0p7-RhSPeGvlfx3fdtgR-Gk_SB-wfF8kCj2J7nI57wjIna" />

好奇怪,我试了一下从那个网站得到的 appid,但它不起作用。但是没关系,我再试了一次,现在它正常工作了。谢谢! - Joel Martinez

2
经过一番努力,我终于发现了这种情况(至少在桌面SL上如此,WP7不确定),当Thread.CurrentUICulture设置为不变文化时会出现。请确保在App.Startup事件处理程序中将其设置为特定的文化(还要考虑设置Thread.CurrentCulture),例如:
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");

当然,您仍需要设置AppID。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接