Example #1
0
        protected override async Task OnInitializedAsync()
        {
            ResponsePlace obj = SearchEngineService._download_serialized_json_data <ResponsePlace>(searchPattern, true);

            PlaceClass placeClass = new PlaceClass();

            ResponsePlaces = placeClass.CreateList(obj);
            //obj.'
            if (ResponsePlaces.Count != 0)
            {
                ChangePlace(0);
            }
            var response = placeModelService.GetPlaceModels();
        }
Example #2
0
        public async Task <Boolean> Download()
        {
            String _specifier     = "#.##";
            String _pointsRequest = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=";
            HttpResponseMessage response;

            _pointsRequest += Position.Latitude.ToString(_specifier).Replace(",", ".") + "," +
                              Position.Longitude.ToString(_specifier).Replace(",", ".");

            _pointsRequest += "&radius=5000&sensor=false&key=" + GooglePlusServer.Key;

            //Create the Request URL for the routing service
            Uri routeRequest = new Uri(_pointsRequest);

            //Make a request and get the response
            HttpClient client = new HttpClient();

            try
            {
                response = await client.GetAsync(routeRequest);
            }
            catch (HttpRequestException)
            {
                return(false);
            }

            if (response.StatusCode != HttpStatusCode.OK)
            {
                return(false);
            }

            Stream inputStream = await response.Content.ReadAsStreamAsync();

            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(ResponsePlace));

            inputStream.Seek(0, SeekOrigin.Begin);

            ResponsePlace r0 = new ResponsePlace();

            r0 = ser.ReadObject(inputStream) as ResponsePlace;

            if (r0 != null &&
                r0.results != null &&
                r0.results.Count() > 0 &&
                r0.results[0].reference != null &&
                r0.results[0].reference.Length > 0)
            {
                //second request
                String _addressRequest = "https://maps.googleapis.com/maps/api/place/details/json?reference=";
                _addressRequest += r0.results[0].reference;
                _addressRequest += "&sensor=true&key=" + GooglePlusServer.Key;
                routeRequest     = new Uri(_addressRequest);
                client           = new HttpClient();

                try
                {
                    response = await client.GetAsync(routeRequest);
                }
                catch (HttpRequestException)
                {
                    return(false);
                }

                Stream inputStreamAddress = await response.Content.ReadAsStreamAsync();

                ser = new DataContractJsonSerializer(typeof(ResponseAddress));
                inputStreamAddress.Seek(0, SeekOrigin.Begin);

                ResponseAddress r1 = new ResponseAddress();
                r1 = ser.ReadObject(inputStreamAddress) as ResponseAddress;

                if (r1 != null &&
                    r1.result != null &&
                    r1.result.address_components != null &&
                    r1.result.address_components.Count() > 0)
                {
                    foreach (AddressComp _comp in r1.result.address_components)
                    {
                        if (_comp.types[0].Equals("country"))
                        {
                            PictureInfos.Country     = _comp.long_name;
                            PictureInfos.Code        = _comp.short_name.ToLower();
                            PictureInfos.InfoPresent = true;
                        }
                        else if (_comp.types[0].Equals("administrative_area_level_1"))
                        {
                            PictureInfos.Region = _comp.short_name;
                        }
                        else if (_comp.types[0].Equals("locality"))
                        {
                            PictureInfos.City = _comp.long_name;
                        }
                        else if (_comp.types[0].Equals("administrative_area_level_2") && (PictureInfos.City == null))
                        {
                            PictureInfos.City = _comp.long_name;
                        }
                        else if (_comp.types[0].Equals("establishment"))
                        {
                            PictureInfos.Establishment = _comp.short_name;
                        }
                    }
                }
            }
            return(PictureInfos.InfoPresent);
        }