Exemplo n.º 1
0
        private async Task RetreiveLocation()
        {
            locator = CrossGeolocator.Current;
            locator.DesiredAccuracy = 50;

            if (locator.IsGeolocationAvailable && locator.IsGeolocationEnabled)
            {
                var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(100));

                if (position == null)
                {
                    return;
                }

                Debug.WriteLine("Position Status: {0}", position.Timestamp);
                Debug.WriteLine("Position Latitude: {0}", position.Latitude.ToString());
                Debug.WriteLine("Position Longitude: {0}", position.Longitude.ToString());

                locator.PositionChanged += (sender, e) => {
                    position = e.Position;

                    Debug.WriteLine("Position Latitude: {0}", position.Latitude.ToString());
                    Debug.WriteLine("Position Longitude: {0}", position.Longitude.ToString());
                };
            }
            else
            {
                await DisplayAlert("Error", "Home", "OK");
            }
        }
Exemplo n.º 2
0
        private async void TestB_Clicked(object sender, EventArgs e)
        {
            PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);

            if (status != PermissionStatus.Granted)
            {
                var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Permission.Location });

                status = results[Permission.Location];

                if (status != PermissionStatus.Granted)
                {
                    string msg = "No tenemos acceso a tu posicion";
                    await DisplayAlert("Alerta", msg, "ok");

                    return;
                }
            }



            Plugin.Geolocator.Abstractions.IGeolocator locator = CrossGeolocator.Current;
            locator.DesiredAccuracy = 20;

            var position = await locator.GetPositionAsync();

            Time.Text = "Time: " + position.Timestamp.LocalDateTime.ToString();
            Lat.Text  = "Latitude: " + position.Latitude.ToString();
            Long.Text = "Longitude: " + position.Longitude.ToString();
        }
        private async Task ExecuteGetGPSCoordinatesCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            try
            {
                var localCoordinates = await _geolocator.GetPositionAsync(timeoutMilliseconds : 10000);

                //weatherRoot = await WeatherService.GetWeather(local.Latitude, local.Longitude
                Latitude  = localCoordinates.Latitude;
                Longitude = localCoordinates.Longitude;
            }
            catch (Exception ex)
            {
                //(CDLTLL) Xamarin.Insights.Report(ex);  // --> Add here HockeyApp telemetry for crash/exception, etc.
                throw;
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemplo n.º 4
0
        async protected override void OnAppearing()
        {
            var gps = await locator.GetPositionAsync();

            map.MoveToRegion(new MapSpan(new Position(gps.Latitude, gps.Longitude), 0.001, 0.001), false);

            map.IsEnabled = true;

            base.OnAppearing();
        }
Exemplo n.º 5
0
        //this needs to be asynchronous because awaititng in the main thread causes a deadlock
        //sets the camera on user position if available
        async Task InitAsync()
        {
            locator = CrossGeolocator.Current;

            try
            {
                var pos = await locator.GetPositionAsync();

                await map.MoveCamera(CameraUpdateFactory.NewPosition(new Xamarin.Forms.GoogleMaps.Position(pos.Latitude, pos.Longitude)));
            }
            catch { }
        }
Exemplo n.º 6
0
        async public Task <Nullable <Position> > GetCurrentPosition(Plugin.Geolocator.Abstractions.IGeolocator locator)
        {
            try
            {
                var geoPosition = await locator.GetPositionAsync(10000);

                Position currentSampledPosition = new Position(geoPosition.Latitude, geoPosition.Longitude);
                this.UpdateCurrentPosition(currentSampledPosition, Utils.Utils.KPHtoMPS(speedThresholdKMH));
                return(this.currentPosition);
            }
            catch
            {
                return(null);
            }
        }
Exemplo n.º 7
0
        public async Task GetLocationAsync()
        {
            try
            {
                Plugin.Geolocator.Abstractions.IGeolocator locator = CrossGeolocator.Current;
                locator.DesiredAccuracy = 50;
                Plugin.Geolocator.Abstractions.Position location = await locator.GetPositionAsync();

                Latitude  = location.Latitude;
                Longitude = location.Longitude;
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
        }
Exemplo n.º 8
0
        protected async override void OnAppearing()
        {
            base.OnAppearing();
            locator = CrossGeolocator.Current;
            locator.PositionChanged += Locator_PositionChanged;
            await locator.StartListeningAsync(TimeSpan.FromSeconds(0), 100);

            var position = await locator.GetPositionAsync();

            var center = new Xamarin.Forms.Maps.Position(position.Latitude, position.Longitude);
            var span   = new Xamarin.Forms.Maps.MapSpan(center, 1, 1);

            locationsMap.MoveToRegion(span);

            using (SQLiteConnection conn = new SQLiteConnection(App.DatabaseLocation))
            {
                conn.CreateTable <Post>();
                var posts = conn.Table <Post>().ToList();
                DisplayInMap(posts);
            }
        }
Exemplo n.º 9
0
        private async void UpCoord()
        {
            while (true)
            {
                Trace.WriteLine("DUMADAAN FREN");
                CurrentPos = await Geolocator.GetPositionAsync(TimeSpan.FromSeconds(1));

                client = new WebClient();
                string response = "";
                try
                {
                    if (!client.IsBusy)
                    {
                        response = client.DownloadString(new Uri("https://meetup-app.000webhostapp.com/uploadCoord.php?id=" + uc.currentUser.ID + "&lat=" + CurrentPos.Latitude + "&lon=" + CurrentPos.Longitude));
                    }
                }
                catch (Exception e)
                {
                    Trace.WriteLine(e.Message);
                }
                Thread.Sleep(5000);
            }
        }
Exemplo n.º 10
0
        public async void InitialMapView()
        {
            CurrentPos = await Geolocator.GetPositionAsync(TimeSpan.FromSeconds(1));

            gpsMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(CurrentPos.Latitude, CurrentPos.Longitude), Distance.FromMiles(1)));
        }