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;
            }
        }
Beispiel #2
0
        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
            };
        }
Beispiel #3
0
        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));
            }
        }