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(); }
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); }