none
No muestra ubicación actual , universal apps RRS feed

  • 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();
            }
        }

    }

    sábado, 26 de septiembre de 2015 3:55

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
    sábado, 26 de septiembre de 2015 5:16

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!

    sábado, 26 de septiembre de 2015 4:20
  • Muchas gracias por tu pronta respuesta y Así es en windows 10 , y si utilizo un emulador de phone de 4.5" 1 gb ram

    Saludos y gracias .

    sábado, 26 de septiembre de 2015 4:28
  • ¿Qué pasa cuando ejecutas tu app en Escritorio o en un dispositivo físico?
    sábado, 26 de septiembre de 2015 4:29
  • en Escritorio si me trae mi ubicación , sabras a que se debe ? o el emulador no soporta la localización 

    y gracias de nuevo por tu apoyo

    sábado, 26 de septiembre de 2015 4:36
  • En modo de escritorio si trae mi ubicación actual ... tendrás una idea a que se deberá ? o sera que e emulador no es compatible con la ubicación ... Saludos. y muchas gracias
    sábado, 26 de septiembre de 2015 4:42
  • 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
    sábado, 26 de septiembre de 2015 5:16
  • Muchas gracias .. oye mm si tengo un móvil con windows 10 un 640 lte , tendrás alguna liga para como probar las aplicaciones en el , y de nuevo te agradezco tu ayuda.
    sábado, 26 de septiembre de 2015 19:30
  • Hola,

    Disculpa la demora, no entiendo muy bien a qué te refieres con liga, soy de Santiago de Chile, si necesitas que sigamos con la conversación puedes encontrar mis redes sociales en mi blog

    Saludos!

    sábado, 26 de septiembre de 2015 21:21