2011-03-12 108 views
6

我想在Windows Phone 7 silverlight应用程序上使用bing地图控件,并且它在地图上显示覆盖的错误。WP7 Bing地图'无效凭证'错误

无效证书,注册一个 开发者帐户

我使用应用ID这两个站点尝试:http://www.bing.com/developers,并https://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); 

回答

4

转到http://bingmapsportal.com,并与您的Windows Live ID登录。登录后,点击在左侧的菜单中创建或查看密钥。如果您尚未创建应用程序,请输入名称,URL并选择类型(Mobile)。一旦创建了应用程序,请复制长字符串并将其粘贴到您的XAML中,作为CredentialsProvider属性的值。

<my:Map CredentialsProvider="NOTREALVF7QTW-LZfG0p7-RhSPeGvlfx3fdtgR-Gk_SB-wfF8kCj2J7nI57wjIna" />
+0

很奇怪,我尝试了从该网站获得的appid,但没有奏效。但好的,我再次尝试,它工作正常。谢谢! – 2011-03-13 03:49:37

2

多少辛劳之后,我终于发现,发生这种情况(至少在桌面SL;不知道WP7)当Thread.CurrentUICulture设置为固定区域性。确保它在App.Startup事件处理程序中设置为特定文化(也可以考虑设置Thread.CurrentCulture),例如

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); 

当然,您仍然需要AppID设置。