Principales respuestas
No muestra ubicación actual , universal apps

Pregunta
-
Buenas Noches ,disculpen Tengo un problema con la ubicación ya le pedí permiso al usuario para usar su ubicación y aparece el boton tipico de que esta buscando la ubicación pero el mapa sigue en azul y no muestra nada alguna idea ? anexo el codigo ...
private async void ObtenerUbicación()
{
// La siguiente función debe de ir dentro de un private async void ya que es una petición de este tipo
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
case GeolocationAccessStatus.Allowed:
// Get the current location
Geolocator geolocator = new Geolocator();
Geoposition pos = await geolocator.GetGeopositionAsync();
Geopoint myLocation = pos.Coordinate.Point;
// Set map location
#region Ubicaciónpredeterminada
/* MapControlmain.Center =
new Geopoint(new BasicGeoposition()
{
//Geopoint for Seattle
Latitude = 25.750291341199556,
Longitude = -100.28040306118169
});
*/
#endregion
MapControlmain.Center = myLocation;
MapControlmain.ZoomLevel = 12;
MapControlmain.LandmarksVisible = true;
//textBlock.Text = myLocation.ToString();
break;
case GeolocationAccessStatus.Denied:
// Handle when access to location is denied
break;
case GeolocationAccessStatus.Unspecified:
// Handle when an unspecified error occurs
break;
}
}
private void btnAbrirPantalla_Click(object sender, RoutedEventArgs e)
{
// Here take code for open next view
#region explicación
/* El control Frame hospeda controles Page y tiene un historial de navegación que se puede utilizar para ir hacia atrás y hacia adelante por las páginas que ya visitaste. Tras obtener el Frame correspondiente, utilizamos el método Navigate para realizar la navegación a otra página. Tenemos dos sobrescrituras del método Navigate:
Navigate(TypeName). Provoca que el Frame cargue el contenido especificado por el tipo pasado como parámetro.
Navigate(TypeName, Object). En este caso, además de indicar el tipo del contenido a cargar (primer parámetro),
podemos pasar un parámetro a la página que se navega(segundo parámetro).*/
#endregion
Frame.Navigate(typeof(Page2));
}
private void ATRAS_Click(object sender, RoutedEventArgs e)
{
if (Frame.CanGoBack)
Frame.GoBack();
#region explicación de regresar atras
// Utilizamos primero la propiedad CanGoBack que nos devuelve un bool indicando si hay páginas en el historial de navegación o no.
//Si existe historial de navegación utilizamos el método GoBack que navega al elemento más inmediato del historial de navegación.
#endregion
}
private void button_Click(object sender, RoutedEventArgs e)
{
ObtenerUbicación();
}
}
}
Respuestas
-
El emulador por defecto no tiene activado ninguna geoposición, por lo cual debes abrir la pestaña Tools que trae y setear una coordenada, luego ejecutar tu aplicación, debería tomar la coordenada que señalaste.
Subí un demo a github https://github.com/mauroDevNinja/MapControlDemo con la implementación de tu método funcionando, por si alguien más quiere probarlo.
Recuerden que se necesita tener al menos 2 cosas importantes al momento de ejecutar la app:
1) El token de bing maps que se obtiene del dev center de bing https://www.bingmapsportal.com
2) La capacidad de obtener la posición del usuario en el manifest.
hHe leído que varios han tenido problemas con el emulador, por lo cual te aconsejo probar en tu desktop y conseguir un movil, hay algunos lumias economicos como el 530 que son buenos y baratos.
Dime si te puedo ayudar en algo más, y si te sirvió mi ayuda marcame como respuesta. Saludos y éxito!
- Editado MauroDevNinja sábado, 26 de septiembre de 2015 5:26
- Marcado como respuesta FranciscoMtzz sábado, 26 de septiembre de 2015 19:29
Todas las respuestas
-
Hola!
Pregunta... es para Windows 10 o 8.1 ? y en dónde estas probando la app? emulador de phone, en desktop o el tu dispositivo?
Tu código parece estar bien, sólo se me ocurre que lo estés probando en un emulador y que no funcione la geolocalización.
Quedo atento, y suerte!
-
-
-
-
-
El emulador por defecto no tiene activado ninguna geoposición, por lo cual debes abrir la pestaña Tools que trae y setear una coordenada, luego ejecutar tu aplicación, debería tomar la coordenada que señalaste.
Subí un demo a github https://github.com/mauroDevNinja/MapControlDemo con la implementación de tu método funcionando, por si alguien más quiere probarlo.
Recuerden que se necesita tener al menos 2 cosas importantes al momento de ejecutar la app:
1) El token de bing maps que se obtiene del dev center de bing https://www.bingmapsportal.com
2) La capacidad de obtener la posición del usuario en el manifest.
hHe leído que varios han tenido problemas con el emulador, por lo cual te aconsejo probar en tu desktop y conseguir un movil, hay algunos lumias economicos como el 530 que son buenos y baratos.
Dime si te puedo ayudar en algo más, y si te sirvió mi ayuda marcame como respuesta. Saludos y éxito!
- Editado MauroDevNinja sábado, 26 de septiembre de 2015 5:26
- Marcado como respuesta FranciscoMtzz sábado, 26 de septiembre de 2015 19:29
-
-