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); } }
public async void InitializeMap() { var request = new GeolocationRequest(GeolocationAccuracy.Medium); var location = await Geolocation.GetLocationAsync(request); if (location != null) { string Id = new Guid().ToString(); await Map.OpenAsync(location, new MapLaunchOptions { NavigationMode = NavigationMode.None }); await Navigation.PushAsync(new PageMenuQueDeceasHAcer()); } }
private async void BtnMap_OnClicked(object sender, EventArgs e) { var request = new GeolocationRequest(GeolocationAccuracy.High); var location = await Geolocation.GetLocationAsync(request); //if (location != null) // { // await Launcher.OpenAsync("geo:0,0?q=").ConfigureAwait(false); // var location = new Location(47.645160, -122.1306032); // var options = new MapLaunchOptions { Name = "Kwabenya" }; await Map.OpenAsync(location); // } // else // { //await Map.OpenAsync("ghana"); // } }
public MapAppPage2(double lat, double lon, string calle) { InitializeComponent(); string lenguaje = CultureInfo.CurrentCulture.TwoLetterISOLanguageName; if (lenguaje == "en") { boton = "Trace the route"; } if (lenguaje == "es") { boton = "Trazar la ruta"; } /* Botón que se utilizará para trazar la dirección desde el punto de origen hasta * la localización deseada, es posible que este botón sea desechado también en pos de instanciar el mapa con la ruta trazada */ Button button2 = new Button() { Text = boton, TextColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Center, BackgroundColor = Color.Accent }; // Se crea la unidad logica del mapa que utilizaremos Map map = new Map // Se declara la variable map { IsShowingUser = true, // Variable para señalar la ubicación actual del usuario MapType = MapType.Street, // Variable para definir el tipo de mapa mostrado, en este caso de tipo street para ver las calles VerticalOptions = LayoutOptions.FillAndExpand, // Variable para definir el alto del mapa, en este caso que llene y se expanda verticalmente // por toda la pantalla HorizontalOptions = LayoutOptions.FillAndExpand, // Lo mismo que la de arriba pero horizontalment }; map.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(-20.247508, -70.133661), Distance.FromMiles(1)).WithZoom(100)); //Declaración de una variable tipo pin var pin3 = new Pin() { Label = "Ubicación", Position = new Position(lat, lon), //Asignando valor a la posición del pin (latitud, longuitud) Address = calle, }; map.Pins.Add(pin3); // Agregar la variable instanciada pin a la variable map /* El metodo que use utilizará cuando se clicke el boton * button.Clicked += async (object sender, EventArgs e) => * { * ILocation loc = DependencyService.Get<ILocation>(); * loc.locationObtained += (object ss, ILocationEventArgs ee) => * { * lat = ee.lat; * lng = ee.lng; * }; * loc.ObtainMyLocation(); * loc = null; * await Task.Delay(4000); * Position position = new Position(lat, lng); * Position position2 = new Position(-20.233169, -70.14294); * Pin pin = new Pin * { * Type = PinType.Place, * Position = position, * Label = "Posición", * }; * * Pin pin2 = new Pin * { * Type = PinType.Place, * Position = position2, * Label = "Mall Plaza", * }; * map.Pins.Add(pin); * map.Pins.Add(pin2); * map.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(lat, lng), Distance.FromMiles(7))); * }; * */ button2.Clicked += async(object sender, EventArgs e) => { var location = new Location(lat, lon); var options = new MapLaunchOptions { NavigationMode = NavigationMode.Driving }; await Map2.OpenAsync(location, options); }; // El layout donde estarán tanto el mapa como el botón StackLayout stack = new StackLayout() { HorizontalOptions = LayoutOptions.FillAndExpand, // Definiendo que el layout ocupe horizontalmente toda la pantalla que sea posible VerticalOptions = LayoutOptions.FillAndExpand, // Lo mismo que arriba pero verticalmente Children = { map, button2 }, // Asignando al layout como variables hijas tanto la variable map como el botón BackgroundColor = Color.Aqua // Asignando color al fondo del stacklayout }; Content = stack; // Asigna el stacklayout definido como el contenido de la contentpage Padding = new Thickness(0, top: Device.OnPlatform(20, 0, 0), right: 0, bottom: 0); // Definiendo los bordes de la contentpage // Este es un comando viejo, aun funciona pero habrá que pensar en cambiarlo }