private void CitiesMap_Tapped(object sender, MapTapEventArgs e) { Position resultPosition; ObservableCollection <CityViewModel> cities = ViewModel.Cities; if (cities.Count != 0) { var pos = e.Position; CityViewModel closestCity = cities.First(); double minDistance = pos.GetDistance(new Position(closestCity.Latitude, closestCity.Longitude)); foreach (var city in cities) { double distance = pos.GetDistance(new Position(city.Latitude, city.Longitude)); if ((new Position(closestCity.Latitude, closestCity.Longitude) != new Position(city.Latitude, city.Longitude)) && (distance < minDistance)) { closestCity = city; minDistance = distance; } } resultPosition = new Position(closestCity.Latitude, closestCity.Longitude); } else { resultPosition = e.Position; } CenterOnPosition(resultPosition); }
protected virtual void OnTap(MapTapEventArgs e) { var handler = Tapped; if (handler != null) { handler(this, e); } }
protected virtual void OnTap(MapTapEventArgs e) { var handler = Tapped; if (handler != null) { handler(this, e); } if (e != null && e.Position != null) { var pin = new Pin(); pin.Label = "Tapped Pin"; pin.Position = e.Position; this.Pins.Add(pin); } }
private void MyMap_Tapped(object sender, MapTapEventArgs e) { PopupNavigation.Instance.PushAsync(new CreateParkingPopUp(e.Position)); }
protected async Task OnMapTap(MapTapEventArgs e) { await SetPinInTargetScope(e.Position.Latitude, e.Position.Longitude, TargetDistance, TargetDateTime); }