Beispiel #1
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);
            }
        }
Beispiel #2
0
        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());
            }
        }
Beispiel #3
0
        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");
            // }
        }
Beispiel #4
0
        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
        }