private async void GetPostion() { try { var locator = CrossGeolocator.Current; locator.DesiredAccuracy = 50; var position = await locator.GetPositionAsync(10000); Debug.WriteLine("Position Status: {0}", position.Timestamp); Debug.WriteLine("Position Latitude: {0}", position.Latitude); Debug.WriteLine("Position Longitude: {0}", position.Longitude); for (int i = 0; viewModel.stops != null && i < viewModel.stops.Count; i++) { viewModel.stops[i].stop_distance = DistanceHelper.DistanceTo(viewModel.stops[i].stop_lat , viewModel.stops[i].stop_lon , position.Latitude , position.Longitude); } } catch (Exception pException) { System.Diagnostics.Debug.WriteLine("GetPostion : " + pException.Message); } finally { GC.Collect(); } }