示例#1
0
        public void RowSelected(NSIndexPath indexPath, bool selected)
        {
            if (indexPath.Section == MainListTableViewSource.exactPostitionSection && indexPath.Row == 0)
            {
                if (AppDelegate.current.locationManager.locationManager.Location != null)
                {
                    var loc = AppDelegate.current.locationManager.gpsCurrentPositionObject;

                    var location = new Location(AppDelegate.current.locationManager.lastKnownLocation.Coordinate.Latitude, AppDelegate.current.locationManager.lastKnownLocation.Coordinate.Longitude);

                    NavigationMode mode    = NavigationMode.None;
                    string         name    = "HENSPE";
                    var            options = new MapLaunchOptions
                    {
                        Name           = name,
                        NavigationMode = mode
                    };

                    Map.OpenAsync(location);
                }

                /*
                 * InvokeOnMainThread(delegate
                 * {
                 *  this.PerformSegue("segueMap", this);
                 * });
                 */
            }
        }
示例#2
0
        private async void ImageButton_Clicked(object sender, EventArgs e)
        {
            ImageButton imgBtn   = sender as ImageButton;
            var         id       = imgBtn.CommandParameter.ToString();
            int         idEventa = int.Parse(id);

            var Event = Eventi.Where(ev => ev.Id == idEventa).FirstOrDefault();

            if (Event != null)
            {
                var address = Event.Adresa;

                if (Device.RuntimePlatform == Device.Android)
                {
                    try
                    {
                        var locations = await Geocoding.GetLocationsAsync(address);

                        var location = locations?.FirstOrDefault();
                        if (location != null)
                        {
                            var Location = new Location(location.Latitude, location.Longitude);
                            var options  = new MapLaunchOptions {
                                Name = address, NavigationMode = NavigationMode.None
                            };
                            await Map.OpenAsync(Location, options);
                        }
                    }
                    catch
                    {
                        await Application.Current.MainPage.DisplayAlert("Info", "Problem sa prikazom lokacije", "OK");
                    }
                }
            }
        }
示例#3
0
        private async void LaunchLocation()
        {
            try
            {
                var query = await App.MobileService.GetTable <Activity_Location>().Where(p => p.Id == this.LocationCode).ToListAsync();

                //ActivityLocation = new ObservableCollection<Activity_Location>();
                var arr = query.ToArray();
                //for (int idx = 0; idx < arr.Length; idx++)
                //{

                //    ActivityLocation.Add(new Activity_Location
                //    {
                //        Id = arr[idx].Id,
                //        Latitude = arr[idx].Latitude,
                //        Longitude = arr[idx].Longitude
                //    });


                //}

                var location = new Location((double)arr[0].Latitude, (double)arr[0].Longitude);
                var options  = new MapLaunchOptions {
                    NavigationMode = NavigationMode.Driving
                };

                await Map.OpenAsync(location, options);
            }
            catch (Exception ex)
            {
                await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "Ok");
            }
        }
        private async void BtnOpenWithPlacemark_ClickedAsync(object sender, EventArgs e)
        {
            try
            {
                var ret       = "";
                var placemark = new Placemark
                {
                    CountryName  = EdtCountryName2.Text,
                    AdminArea    = EdtAdminArea2.Text,
                    Thoroughfare = EdtThoroughfare2.Text,
                    Locality     = EdtLocality2.Text
                };
                var options = new MapLaunchOptions {
                    Name = EdtMapsLaunchOptions2.Text
                };

                await Map.OpenAsync(placemark, options);

                //ret = $"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}";
                //Console.WriteLine(ret);
                //this.lblResult.Text = ret;
            }
            catch (Exception ex)
            {
                // Unable to open screen
                this.lblResult.Text = ex.ToString();
            }
        }
示例#5
0
        void OnJobImageButtonClicked(object sender, EventArgs e)
        {
            try
            {
                Location msLocation = new Location(47.645160, -122.1306032);

                MapLaunchOptions options = new MapLaunchOptions {
                    Name = "Microsoft Building 25", NavigationMode = NavigationMode.Driving
                };
                Map.OpenAsync(msLocation, options);
            }
            catch (FeatureNotSupportedException fnsEx)
            {
                // Handle not supported on device exception
                DisplayAlert("Error", fnsEx.InnerException.ToString(), "OK");
            }
            catch (FeatureNotEnabledException fneEx)
            {
                // Handle not enabled on device exception
                DisplayAlert("Error", fneEx.InnerException.ToString(), "OK");
            }
            catch (PermissionException pEx)
            {
                // Handle permission exception
                DisplayAlert("Error", pEx.InnerException.ToString(), "OK");
            }
            catch (Exception ex)
            {
                // Unable to get location
                DisplayAlert("Error", ex.InnerException.ToString(), "OK");
            }
        }
示例#6
0
 private async void GetDirection(Agent obj)
 {
     try
     {
         if (obj.Latitude > 0 && obj.Longitude > 0)
         {
             var location = new Location(obj.Latitude, obj.Longitude);
             var options  = new MapLaunchOptions {
                 Name = obj.FullName
             };
             try
             {
                 await Map.OpenAsync(location, options);
             }
             catch (Exception ex)
             {
                 // No map application available to open
             }
         }
         else
         {
             Plugin.Toast.CrossToastPopUp.Current.ShowToastError(Helper.TranslateExtension.Translate("Msg_ConnectionError"), Plugin.Toast.Abstractions.ToastLength.Long);
         }
     }
     catch (Exception)
     {
     }
 }
        private async void Button_Clicked(object sender, EventArgs e)
        {
            try
            {
                var location = await Geolocation.GetLastKnownLocationAsync();

                if (location == null)
                {
                    location = await Geolocation.GetLocationAsync(new GeolocationRequest
                    {
                        DesiredAccuracy = GeolocationAccuracy.Medium,
                        Timeout         = TimeSpan.FromSeconds(45)
                    });
                }
                if (location == null)
                {
                    LabelLocation.Text = "No GPS";
                }
                else
                {
                    LabelLocation.Text = $"{location.Latitude}{location.Longitude}"; // vido - kinh do
                }
                var options = new MapLaunchOptions {
                    NavigationMode = NavigationMode.Driving
                };
                await Map.OpenAsync(location, options); // mo ban do ung voi toa do
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"Something is wrong :{ ex.Message}");
            }
        }
示例#8
0
 private async void ImageButtonMapClicked(object sender, EventArgs e)
 {
     var options = new MapLaunchOptions {
         Name = store.Name
     };
     await Map.OpenAsync(store.LocationLatitude, store.LocationLongitude, options);
 }
示例#9
0
 public async void navigateToMap()
 {
     var mapOption = new MapLaunchOptions {
         Name = "", NavigationMode = NavigationMode.Driving
     };
     await Map.OpenAsync(currentLocation, mapOption).ConfigureAwait(true);
 }
示例#10
0
        private async void btnNavigate_Clicked(object sender, EventArgs e)
        {
            btnAddress.IsEnabled = false;
            try
            {
                var locations = await Geocoding.GetLocationsAsync(_appointment.FullAddress);

                var location = locations?.FirstOrDefault();

                if (location == null)
                {
                    return;
                }

                var options = new MapLaunchOptions {
                    NavigationMode = NavigationMode.Driving
                };
                await Map.OpenAsync(location, options);
            }
            catch (FeatureNotSupportedException fnsEx)
            {
                await DisplayAlert("Error", "Sorry, this feature not supported on device.", "Ok");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", "Sorry, an error occured.", "Ok");
            }
            finally
            {
                btnAddress.IsEnabled = true;
            }
        }
示例#11
0
        private async void UpdateMap()
        {
            try
            {
                Pin pin = new Pin
                {
                    Label    = Des.Text,
                    Address  = addr,
                    Type     = PinType.Place,
                    Position = new Position(latti, longi)
                };
                MyMap.Pins.Add(pin);
                MyMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(latti, longi), Distance.FromKilometers(1)));

                var locat = new Location(latti, longi);
                //    var options = new MapLaunchOptions { Name = addr };
                var options = new MapLaunchOptions {
                    NavigationMode = NavigationMode.None
                };

                await Map.OpenAsync(locat, options);

                var location = await Xamarin.Essentials.Geolocation.GetLocationAsync();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }
示例#12
0
 private async void MostrarMapa(object sender, EventArgs args1)
 {
     MapLaunchOptions options = new MapLaunchOptions {
         Name = "Mi posición actual"
     };
     await Map.OpenAsync(latitud, longitud, options);
 }
 private async void RouteToBar(object sender, EventArgs e)
 {
     var options = new MapLaunchOptions {
         Name = barName
     };
     await Xamarin.Essentials.Map.OpenAsync(location, options);
 }
        private async Task OnOpenPlantMap(string arg)
        {
            Placemark        placemark;
            MapLaunchOptions options;

            if (arg == "corporate")
            {
                placemark = new Placemark
                {
                    Thoroughfare = CorporateAddress
                };
                options = new MapLaunchOptions {
                    Name = "Trulite Glass & Aluminum Solutions"
                };
            }
            else
            {
                placemark = new Placemark
                {
                    Thoroughfare = _contactInfo.BranchAddress,
                };
                options = new MapLaunchOptions {
                    Name = "Plant"
                };
            }
            await Map.OpenAsync(placemark, options);
        }
示例#15
0
        private async void Cesta_Clicked(object sender, EventArgs e)

        {
            double Distancetowork = Location.CalculateDistance(latSme, lonSme, latMem, lonMem, DistanceUnits.Kilometers);

            var location = new Location(50.071021063561105, 14.448941280438818); //Memos


            var options = new MapLaunchOptions {
                Name = "MEMOS s.r.o.", NavigationMode = NavigationMode.None
            };


            distance.Text = "Vzdálenost od mého místa bydliště do MEMOSU =" + Distancetowork.ToString();

            try
            {
                await Map.OpenAsync(location, options);
            }
            catch (Exception ex)
            {
                // No map application available to open
            }


            // await Map.OpenAsync(50.07794178082049, 14.426502340895745, new MapLaunchOptions { NavigationMode = NavigationMode.None });
        }
示例#16
0
 public async void GoDriveTo(double lat, double lng)
 {
     var options = new MapLaunchOptions {
         Name = "2", NavigationMode = Xamarin.Essentials.NavigationMode.Driving
     };
     await Map.OpenAsync(lat, lng, options);
 }
示例#17
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            var options = new MapLaunchOptions {
                Name = "Your location"
            };

            try
            {
                var location = await Xamarin.Essentials.Geolocation.GetLastKnownLocationAsync();

                if (location == null)
                {
                    location = await Xamarin.Essentials.Geolocation.GetLocationAsync(new GeolocationRequest
                    {
                        DesiredAccuracy = GeolocationAccuracy.Medium,
                        Timeout         = TimeSpan.FromSeconds(30)
                    });
                }
                await Xamarin.Essentials.Map.OpenAsync(location, options);
            }
            catch (Exception)
            {
            }
        }
示例#18
0
        private async Task pegaDirecao(Unidade unidade)
        {
            var permission = await PermissionHelper.CheckAndRequestPermission(new Permissions.LocationAlways());

            if (permission == PermissionStatus.Granted)
            {
                var options = new MapLaunchOptions {
                    NavigationMode = Xamarin.Essentials.NavigationMode.Driving
                };

                var adress    = unidade.Endereco + ", " + unidade.Cep;
                var locations = await Geocoding.GetLocationsAsync(adress);

                var location = locations?.FirstOrDefault();

                if (location != null)
                {
                    await Map.OpenAsync(location, options);
                }
            }
            else
            {
                UserDialogs.Instance.Toast("Para obter a localização você precisa permitir o uso da geolocalização.");
            }
        }
示例#19
0
        private async void Alerts_ShowMapHandler(object sender, AlertsFragment.ShowMapFragmentArgs e)
        {
            if (e.Type == 1)
            {
                System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-US");
                cultureInfo.NumberFormat.NumberDecimalSeparator      = ".";
                System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;

                MapFragmentDialog profile = new MapFragmentDialog(e.Alerts.UserKey);
                SupportFragmentManager.BeginTransaction()
                .Replace(Resource.Id.fragHost, profile)
                .Commit();
            }
            else
            {
                System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-US");
                cultureInfo.NumberFormat.NumberDecimalSeparator      = ".";
                System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;

                var location = new Xamarin.Essentials.Location(double.Parse(e.Alerts.Lat), double.Parse(e.Alerts.Lon));
                var options  = new MapLaunchOptions {
                    Name = "Victim",
                };

                try
                {
                    await Map.OpenAsync(location, options);
                }
                catch (Exception ex)
                {
                    // No map application available to open
                    Console.WriteLine(ex.Message);
                }
            }
        }
示例#20
0
 public async void onClickNavigate(object sender, EventArgs e)
 {
     var options = new MapLaunchOptions {
         NavigationMode = NavigationMode.Driving
     };
     await Xamarin.Essentials.Map.OpenAsync(place, options);
 }
示例#21
0
 private async void MapBtn_Clicked(object sender, EventArgs e)
 {
     var location = new Location(47.645160, -122.1306032);
     var options  = new MapLaunchOptions {
         Name = "Microsoft Building 25", NavigationMode = NavigationMode.Driving
     };
     await Map.OpenAsync(location, options);
 }
 private async void BtnVerUbicacion_Clicked(object sender, EventArgs e)
 {
     var location = new Location(Convert.ToDouble(ubicacionLatitudEntry.Text), Convert.ToDouble(ubicacionLongitudEntry.Text));
     var options  = new MapLaunchOptions {
         Name = nombreClienteEntry.Text
     };
     await Map.OpenAsync(location, options);
 }
示例#23
0
 public async Task NavigateToBuilding()
 {
     var location = new Location(47.645160, -122.1306032);
     var options  = new MapLaunchOptions {
         Name = "Microsoft building"
     };
     await Map.OpenAsync(location, options);
 }
示例#24
0
        public async Task ShowOnMap(Location i_Location)
        {
            var options = new MapLaunchOptions {
                NavigationMode = NavigationMode.None
            };

            await Map.OpenAsync(i_Location, options);
        }
示例#25
0
 public async Task NavigateToBuilding()
 {
     var location = new Location(53.123334, -122.134333);
     var options  = new MapLaunchOptions {
         Name = "Kodu"
     };
     await Map.OpenAsync(location, options);
 }
示例#26
0
 private async void toiletteMaps_Clicked(object sender, EventArgs e)
 {
     var location = new Location(toil.coordinate.latitude, toil.coordinate.longitude);
     var options  = new MapLaunchOptions {
         NavigationMode = NavigationMode.None
     };
     await Map.OpenAsync(location, options);
 }
示例#27
0
 public async void NavigateToClickedSpot()
 {
     var location = new Location(ClickedSpot.Latitude, ClickedSpot.Longitude);
     var options  = new MapLaunchOptions {
         Name = ClickedSpot.Name, NavigationMode = NavigationMode.Driving
     };
     await Map.OpenAsync(location, options);
 }
示例#28
0
 public async void Handle_Clicked(object sender, EventArgs e)
 {
     var location = new Location(42.349344, -71.082504);
     var options  = new MapLaunchOptions {
         Name = "Wired Puppy", NavigationMode = NavigationMode.Driving
     };
     await Xamarin.Essentials.Map.OpenAsync(location, options);
 }
示例#29
0
        public async Task NavigateDriving(Location i_Location)
        {
            var options = new MapLaunchOptions {
                NavigationMode = NavigationMode.Driving
            };

            await Map.OpenAsync(i_Location, options);
        }
示例#30
0
 public static async Task Navigate(float lat, float lon)
 {
     var location = new Location(lat, lon);
     var options  = new MapLaunchOptions {
         NavigationMode = NavigationMode.Driving
     };
     await Map.OpenAsync(location, options);
 }