2011-03-12 16 views
6

Estoy tratando de usar un control de mapas bing en una aplicación Silverlight de Windows Phone 7 y muestra este error superpuesto en el mapa.Error de credenciales no válidas de WP7 Bing Maps

credenciales no son válidas, crea una cuenta desarrollador

He intentado usar el ID de aplicación de estos dos sitios: http://www.bing.com/developers y https://www.bingmapsportal.com/

estoy haciendo algo mal? ¿Hay alguna configuración de cuenta que me falta? A modo de referencia, así es como estoy definiendo el control e interactuar con él:

<my:Map x:Name="MyMap" CredentialsProvider="<<myAppId>>" /> 

Y en el código subyacente:

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); 

Respuesta

4

Ir a http://bingmapsportal.com y abrir una sesión con su Windows Live ID. Una vez que haya iniciado sesión, haga clic en Cree o vea las teclas en el menú de la izquierda. Si aún no lo has hecho, crea una aplicación ingresando el nombre, la URL y seleccionando un tipo (Móvil). Una vez que haya creado su aplicación, copie la larga cadena de caracteres y péguela en su XAML como el valor del atributo CredentialsProvider.

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

tan extraño, probé la aplicación que obtuve de ese sitio y no funcionó. Pero vale, lo intenté de nuevo y funciona bien. ¡Gracias! –

2

Después de mucho dolores de parto, finalmente descubrieron que esto ocurre (al menos en el escritorio SL; no está seguro acerca de WP7) cuando el Thread.CurrentUICulture se establece en la referencia cultural de todos. Asegúrese de que esté configurado para una cultura específica (considere también configurar Thread.CurrentCulture) en el controlador de eventos App.Startup, p.

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

Aún necesita el conjunto de AppID, por supuesto.

Cuestiones relacionadas