Exemplo n.º 1
0
        public Task <FetchResponse <Predictions <QueryAutocomplete> > > QueryAutocomplete(
            QueryAutocompleteRequest request,
            string key)
        {
            var @params = new List <(string, object)>();

            if (!string.IsNullOrEmpty(request.input))
            {
                @params.Add(("input", request.input));
            }

            if (request.offset.HasValue)
            {
                @params.Add(("offset", request.offset.Value));
            }

            if (!string.IsNullOrEmpty(request.location))
            {
                @params.Add(("location", request.location));
            }

            if (request.radius.HasValue)
            {
                @params.Add(("radius", request.radius.Value));
            }

            if (!string.IsNullOrEmpty(request.language))
            {
                @params.Add(("language", request.language));
            }

            return(this.httpClient.ExecuteGet <Predictions <QueryAutocomplete> >(
                       Utils.GetApiUrl(QUERY_AUTOCOMPLETE_URL, key, @params)));
        }
        private void QueryAutoComplete()
        {
            // Create a AutoCompleteRequest body.
            QueryAutocompleteRequest AutoCompleteRequest = new QueryAutocompleteRequest();

            string query = QueryInput.Text;

            if (query.Length == 0)
            {
                ResultTextView.Text = "Error : Query is empty!";
                return;
            }
            AutoCompleteRequest.Query = query;

            double lat;
            double lng;
            string latStr = LatInput.Text;
            string lngStr = LngInput.Text;

            if (!string.IsNullOrEmpty(latStr) || !string.IsNullOrEmpty(lngStr))
            {
                if (!(double.TryParse(latStr, out lat)) || !(double.TryParse(lngStr, out lng)))
                {
                    ResultTextView.Text = "Error : Location is invalid!";
                    return;
                }
                AutoCompleteRequest.Location = new Coordinate(lat, lng);
            }

            string radius = RadiusInput.Text;
            int    radiusInt;

            if (!(Int32.TryParse(radius, out radiusInt)) || radiusInt <= 0)
            {
                ResultTextView.Text = "Error : Radius Must be greater than 0 !";
                return;
            }
            AutoCompleteRequest.Radius = (Integer)radiusInt;


            string language = LanguageInput.Text;

            if (!string.IsNullOrEmpty(language))
            {
                AutoCompleteRequest.Language = language;
            }
            AutoCompleteRequest.Children = Childern.Checked;

            // Call the search API.
            SearchService.QueryAutocomplete(AutoCompleteRequest, new AutoCompleteResultListener());
        }
Exemplo n.º 3
0
        public Task <FetchResponse <Predictions <QueryAutocomplete> > > QueryAutocomplete(
            string input,
            int?offset,
            long?radius,
            string key,
            string location = null,
            string language = null)
        {
            var request = new QueryAutocompleteRequest();

            if (!string.IsNullOrEmpty(input))
            {
                request.input = input;
            }

            if (offset.HasValue)
            {
                request.offset = offset.Value;
            }

            if (radius.HasValue)
            {
                request.radius = radius.Value;
            }

            if (!string.IsNullOrEmpty(location))
            {
                request.location = location;
            }

            if (!string.IsNullOrEmpty(language))
            {
                request.language = language;
            }

            return(client.Places.QueryAutocomplete(request, key));
        }