Пример #1
0
        /// <summary>
        /// intenta buscar la ubicacion actual
        /// utilizando el gps.
        /// </summary>
        /// <param name="geolocator"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        private async Task <LocationResult> GetGPSPosition()
        {
            var request  = new GeolocationRequest(GeolocationAccuracy.Best);
            var position = await Geolocation.GetLocationAsync(request);

            return((position is null) ?
                   LocationResult.Fail(msg: "No se pudo obtener la ubicación del gps") :
                   LocationResult.Done(position: position));
        }
Пример #2
0
        /// <summary>
        /// en caso que la ubicacion ya se haya encontrado retorna la posicion cacheada
        /// en caso que no exista la intenta buscar con el gps.
        /// </summary>
        /// <param name="geolocator"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        private async Task <LocationResult> GetCachedPosition( )
        {
            var position = await Geolocation.GetLastKnownLocationAsync();

            if (position is null)
            {
                return(await GetGPSPosition());
            }
            return(LocationResult.Done(position: position));
        }