private void PlaceSearchPage_OnBackNavigation(object sender, NavigationParameters navigationParameters) { PlaceSearch.PlaceSearchPage page = (PlaceSearch.PlaceSearchPage)sender; page.OnBackNavigation -= PlaceSearchPage_OnBackNavigation; NavigationService.BackModal(); if (navigationParameters != null && navigationParameters.ContainsKey("place-selected")) { AutocompletePlace selectedPlace = (AutocompletePlace)navigationParameters["place-selected"]; if (selectedPlace.ID == "select_in_map") { SelectionType = CustomControls.SelectPlaceMap.SelectionType.IN_MAP; IsVisibleShowMoviesButton = false; IsMapSelectionEnable = true; IsEnabledOkMapSelection = false; TextSearched = "Busque aquí"; // Reset search text } else { TextSearched = selectedPlace.Description; IsVisibleShowMoviesButton = true; } CurrentPinPlace = selectedPlace; } }
public override void Load(NavigationParameters navigationParameters) { base.Load(navigationParameters); _selectInMapDefaultPlace = new AutocompletePlace() { ID = "select_in_map", Description = "Selección en mapa" }; PlacesList = new List <AutocompletePlace>() { _selectInMapDefaultPlace }; }
private async Task <Position> RequestDetails(AutocompletePlace place) { PlaceDetailsResponse details = await _placeAutocompleteService.GetPlaceDetails(place.Place_ID, _cancellationTokenSource.Token); PinPlaceDetails = details; // set details so viewmodel can use the coordinates var lat = details?.result?.geometry?.location?.lat; var lng = details?.result?.geometry?.location?.lng; if (lat != null && lng != null) { return(new Position( details.result.geometry.location.lat, details.result.geometry.location.lng )); } else { return(default(Position)); } }