void MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { var lat = e.Point.Latitude; var lng = e.Point.Longitude; drawShape(lat, lng); //Save new record to PositionList temporary PositionsList.Add(new Position(lat, lng)); }
private void MyMap_MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { Helpers.Settings.LaititudeKeySettings = e.Point.Latitude; Helpers.Settings.LongitudeKeySettings = e.Point.Latitude; var pin = new Pin { Type = PinType.Place, Position = e.Point, Label = "مكان رقم 1", Address = "عنوان رقم 1", }; MyMap.Pins.Add(pin); }
async void Handle_MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { PointOfInterest poi = new PointOfInterest(); poi.Location = new Microsoft.Azure.Documents.Spatial.Point(e.Point.Longitude, e.Point.Latitude); poi.Name = e.Point.Latitude.ToString() + "-" + e.Point.Longitude.ToString(); poi.Description = DateTime.Now.ToString("R"); await mapService.InsertItemAsync(poi); Position p = new Position(e.Point.Latitude, e.Point.Longitude); Map.Pins.Add(new Pin() { Position = p, Label = poi.Description }); }
// When the user click on the map void MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { // Function for insertDatapage to draw a Shape if (DrawShapeAble) { // Get the location by user touch on the map var lat = e.Point.Latitude; var lng = e.Point.Longitude; //Save new record to PositionList temporary InsertDataPage.PositionsList.Add(new Position(lat, lng)); // Draw the shape on the map DrawShape(); } // Nothing happen if DrawShapeAble didnot turn to true, it can make sure user can not draw shape when they enter from Information Page }
void MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { if (key) { var lat = e.Point.Latitude; var lng = e.Point.Longitude; drawShape(lat, lng); // Save new record to PositionList temporary PositionsList.Add(new Position(lat, lng)); //InsertDataPageInstance.drawShape(lat, lng); InsertDataPageInstance.PositionsList = PositionsList; InsertDataPageInstance.drawAllShape(); //InsertDataPageInstance.SetPostionslist(PositionsList); } }
private void Map_MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { AICargando.IsVisible = true; AICargando.IsRunning = true; var lat = e.Point.Latitude.ToString("0.000"); var lng = e.Point.Longitude.ToString("0.000"); Pin AquiEstoy = new Pin() { Type = PinType.Place, Label = "Mi ubicacion =_=", Position = new Position(double.Parse(lat), double.Parse(lng)) }; map.Pins.Clear(); map.Pins.Add(AquiEstoy); var pos = new Position(double.Parse(lat), double.Parse(lng)); MyPosicion = pos; AICargando.IsVisible = false; AICargando.IsRunning = false; btnContinuar.IsEnabled = true; }
// When user clicked the map void Handle_MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { // Pass the Geodata to MapShapePage , and then it will shows the target on a bigger map page Navigation.PushAsync(new MapShapePage(geodata)); }
private async void Map_MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { try { SLColonias.IsVisible = false; SLMensaje.IsVisible = false; var Latitud = e.Point.Latitude; var Longitud = e.Point.Longitude; Pin AquiEstoy = new Pin() { Type = PinType.Place, Label = "Ubicación", Position = new Position(Latitud, Longitud) }; map.Pins.Clear(); map.Pins.Add(AquiEstoy); var pos = new Position(Latitud, Longitud); var geo = new Geocoder(); var location = new Location(); string content = string.Empty; IEnumerable <Placemark> placemarks = await Geocoding.GetPlacemarksAsync(Latitud, Longitud); IEnumerable <string> addresses = await geo.GetAddressesForPositionAsync(new Position(Latitud, Longitud)); if (location != null) { var oDireccion = new VMDireccion(); foreach (var item in placemarks) { string ciudad = string.Empty; if (!string.IsNullOrEmpty(item.Locality)) { ApiService ApiService = new ApiService("/api/Direccion"); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("StrNombreCiudad", item.Locality); parameters.Add("CodigoEstado", item.AdminArea); parameters.Add("CodigoPais", item.CountryCode); parameters.Add("Latitud", item.Location.Latitude.ToString()); parameters.Add("Longitud", item.Location.Longitude.ToString()); var result = await ApiService.GET <VMDireccion>(action : "GetObtenerDireccionConDatosDeGoogle", responseType : ApiService.ResponseType.Object, arguments : parameters); var oReponse = result as ResponseHelper; if (result != null && oReponse.Status != false) { oDireccion = oReponse.Data as VMDireccion; if (oDireccion.ListaDIRECCIONES.Count == 1) { VMDireccion Colonias = new VMDireccion(); DataTable dt = Colonias.Colonias(new Guid(oDireccion.ListaDIRECCIONES[0].CIUDAD)); DireccionesListaColonia.Clear(); MypickerColonia.Items.Clear(); foreach (DataRow items in dt.Rows) { DireccionesListaColonia.Add( new VMDireccion() { ID = new Guid(items["IdColonia"].ToString()), COLONIA = items["Nombre"].ToString() }); MypickerColonia.Items.Add(items["Nombre"].ToString()); } map.MoveToRegion(MapSpan.FromCenterAndRadius(pos, Distance.FromMiles(0.05))); SLColonias.IsVisible = true; odireccion = oDireccion; break; } } else { lblMensaje.Text = "Sin servicio en esta ubicación, elige otra "; SLMensaje.IsVisible = true; // await DisplayAlert("Error extraño", "Ocurrio algo mal al recuperar la ubicación intenta de nuevo por favor", "aceptar"); } } else { lblMensaje.Text = "Sin servicio en esta ubicación, elige otra"; SLMensaje.IsVisible = true; //await DisplayAlert("Zona no disponible", "No existe servicio en el punto marcado", "Aceptar"); } } } } catch (FeatureNotSupportedException) { // Handle not supported on device exception lblMensaje.Text = "Servicios de ubicación no soportados, selecciona una ubicación en el mapa y descubre las colonias disponibles"; SLMensaje.IsVisible = true; //await DisplayAlert("Aviso del sistema", "Los servicios de ubicacion no soportados por el dispositivo", "Aceptar"); } catch (FeatureNotEnabledException) { lblMensaje.Text = "Activa tu ubicación para mostrarte las colonias cercanas a ti, de lo contrario selecciona una ubicación en el mapa y descubre las colonias disponibles"; SLMensaje.IsVisible = true; //await DisplayAlert("Ubicacion no activa", "Activa el GPS para obtener tu ubicacion", "Aceptar"); } catch (PermissionException) { // Handle permission exception lblMensaje.Text = "Activa los permisos de ubicación para poder mostrarte las colonias cercanas a ti, de lo contrario selecciona una ubicación en el mapa y descubre las colonias disponibles"; SLMensaje.IsVisible = true; //await DisplayAlert("Aviso", "Activa los permisos de ubicacion para continuar", "Aceptar"); } catch (Exception) { // Unable to get location lblMensaje.Text = "Servicio no disponible en esta zona"; SLMensaje.IsVisible = true; //await DisplayAlert("Aviso", "No se puede obtener la ubicacion, intenta otra", "Aceptar"); } SLCargando.IsVisible = false; acLoading.IsRunning = false; acLoading.IsVisible = false; SLDatos.IsVisible = true; }
// when the user clicked on the map, it will direct them to a larger map page to draw the shape void MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { // Go to the MapShapePage which allows user to click in the map to draw the geometry shape Navigation.PushAsync(new MapShapePage(true)); }
private async void map_MapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { try { var Latitud = e.Point.Latitude; var Longitud = e.Point.Longitude; Pin AquiEstoy = new Pin() { Type = PinType.Place, Label = "Nueva ubicación", Position = new Position(Latitud, Longitud) }; map.Pins.Clear(); map.Pins.Add(AquiEstoy); var pos = new Position(Latitud, Longitud); map.MoveToRegion(MapSpan.FromCenterAndRadius(pos, Distance.FromMeters(500))); var geo = new Geocoder(); var location = new Location(); string content = string.Empty; IEnumerable <Placemark> placemarks = await Geocoding.GetPlacemarksAsync(Latitud, Longitud); IEnumerable <string> addresses = await geo.GetAddressesForPositionAsync(new Position(Latitud, Longitud)); if (location != null) { foreach (var item in placemarks) { using (HttpClient _webApi = new HttpClient()) { string ciudad = string.Empty; if (!string.IsNullOrEmpty(item.Locality)) { ciudad = item.Locality; string _URL = "" + Helpers.Settings.sitio + "/api/Direccion/GetObtenerDireccionConDatosDeGoogle?StrNombreCiudad=" + ciudad + "&Latitud=" + item.Location.Latitude + "&Longitud=" + item.Location.Longitude + ""; await Task.Run(async() => { content = await _webApi.GetStringAsync(_URL); }); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); oDireccionModificada = JsonConvert.DeserializeObject <VMDireccion>(obj); if (oDireccionModificada.ListaDIRECCIONES.Count == 1) { oDireccionModificada.ListaDIRECCIONES[0].Longitud = item.Location.Longitude.ToString(); oDireccionModificada.ListaDIRECCIONES[0].Latitud = item.Location.Latitude.ToString(); MypickerPais.SelectedIndex = 1; int Estado = new int(); for (int i = 0; i < DireccionesListaEstados.Count; i++) { if (DireccionesListaEstados[i].ID == new Guid(oDireccionModificada.ListaDIRECCIONES[0].ESTADO.ToUpper())) { Estado = i; } } MypickerEstado.SelectedIndex = Estado; int Municipio = new int(); for (int i = 0; i < DireccionesListaMunicipios.Count; i++) { if (DireccionesListaMunicipios[i].ID == new Guid(oDireccionModificada.ListaDIRECCIONES[0].MUNICIPIO.ToUpper())) { Municipio = i; } } MypickerMunicipio.SelectedIndex = Municipio; int Ciudad = new int(); for (int i = 0; i < DireccionesListaCiudad.Count; i++) { if (DireccionesListaCiudad[i].ID == new Guid(oDireccionModificada.ListaDIRECCIONES[0].CIUDAD.ToUpper())) { Ciudad = i; } } MypickerCiudad.SelectedIndex = Ciudad; VMDireccion Colonias = new VMDireccion(); DataTable dt = Colonias.Colonias(new Guid(oDireccionModificada.ListaDIRECCIONES[0].CIUDAD)); DireccionesListaColonia.Clear(); MypickerColonia.Items.Clear(); foreach (DataRow items in dt.Rows) { DireccionesListaColonia.Add( new VMDireccion() { ID = new Guid(items["IdColonia"].ToString()), COLONIA = items["Nombre"].ToString() }); MypickerColonia.Items.Add(items["Nombre"].ToString()); } txtCalle.Text = oDireccionModificada.ListaDIRECCIONES[0].CALLE0; txtEntreCalle.Text = oDireccionModificada.ListaDIRECCIONES[0].CALLE1; txtYCalle.Text = oDireccionModificada.ListaDIRECCIONES[0].CALLE2; txtReferencia.Text = oDireccionModificada.ListaDIRECCIONES[0].REFERENCIA; txtIdentificador.Text = oDireccionModificada.ListaDIRECCIONES[0].IDENTIFICADOR; txtManzana.Text = oDireccionModificada.ListaDIRECCIONES[0].MANZANA; txtLote.Text = oDireccionModificada.ListaDIRECCIONES[0].LOTE; txtCodigoPostal.Text = oDireccionModificada.ListaDIRECCIONES[0].CodigoPostal; } } else { await DisplayAlert("Zona no disponible", "No existe servicio en el punto marcado", "Aceptar"); } } } } } catch (FeatureNotSupportedException) { // Handle not supported on device exception await DisplayAlert("Aviso del sistema", "Los servicios de ubicacion no soportados por el dispositivo", "Aceptar"); } catch (FeatureNotEnabledException) { await DisplayAlert("Ubicacion no activa", "Activa el GPS para obtener tu ubicacion", "Aceptar"); } catch (PermissionException) { // Handle permission exception await DisplayAlert("Aviso", "Activa los permisos de ubicacion para continuar", "Aceptar"); } catch (Exception) { // Unable to get location await DisplayAlert("Aviso", "No se puede obtener la ubicacion", "Aceptar"); } }
private void OnMapClicked(object sender, Xamarin.Forms.GoogleMaps.MapClickedEventArgs e) { CreatePin(e.Point); }