public async Task <PlaceDetailsResponse> PlaceDetails(PlaceDetailsRequest request, ApiKey apiKey = null, HttpClient httpClient = null) { using (var api = new GetAddesssApi(apiKey ?? ApiKey, HttpClient ?? httpClient)) { return(await api.Address.PlaceDetails(request)); } }
/// <summary> /// Obtains all the details of a specific place /// </summary> /// <param name="pPlaceId">Place id given by Google Maps API</param> /// <returns></returns> public dynamic PlaceDetails(string pPlaceId) { PlaceDetailsRequest request = new PlaceDetailsRequest(); request.PlaceID = pPlaceId; var response = new PlaceDetailsService().GetResponse(request); dynamic place = new ExpandoObject(); if (response.Status == ServiceResponseStatus.Ok) { PlaceDetailsResult result = response.Result; place.name = result.Name; place.latitude = result.Geometry.Location.Latitude; place.longitude = result.Geometry.Location.Longitude; place.address = result.FormattedAddress; place.phone = result.InternationalPhoneNumber; place.rating = result.Rating; place.schedule = GetOpeningHours(result); place.website = result.Website; place.photo = ""; //place.photo = RequestPlacePhoto(result.Photos[0].PhotoReference); return(place); } else { return(null); } }
public async Task <IPlaceDetailsResponse> GetPlaceDetails(long placeId) { var request = new PlaceDetailsRequest(); request.Lang = _culture; request.PlaceId = placeId; request.TextFormat = TextFormatEnum.Plain; request.Expand = PlaceListRequest.ExpandNames.IMAGES; var res = await request.ExecuteAsync(); return(res); }
public void PlacesDetailsTest(string placeID, string placeName) { PlaceDetailsRequest request = new PlaceDetailsRequest() { PlaceID = placeID }; var response = new PlaceDetailsService().GetResponse(request); Assert.AreEqual(ServiceResponseStatus.Ok, response.Status); Assert.IsNotNull(response.Result.URL); Assert.AreEqual(placeID, response.Result.PlaceID); Assert.AreEqual(placeName, response.Result.Name); }
private void searchBox_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args) { if (addressToId.ContainsKey(searchBox.Text)) { PlaceDetailsRequest placeDetailsRequest = new PlaceDetailsRequest(); placeDetailsRequest.PlaceID = addressToId[searchBox.Text]; PlaceDetailsResponse placeDetailsResponse = placeDetailsService.GetResponse(placeDetailsRequest); if (placeDetailsResponse.Status == Google.Maps.ServiceResponseStatus.Ok) { reverseGeocode = false; map.Center = new Geopoint(new BasicGeoposition() { Latitude = placeDetailsResponse.Result.Geometry.Location.Latitude, Longitude = placeDetailsResponse.Result.Geometry.Location.Longitude }); } } }
public async Task should_get_place() { var request = new PlaceListRequest(); request.Lang = "ru"; var res = await request.ExecuteAsync(); Assert.IsNotNull(res); Assert.IsTrue(res.Count > 0); var first = res.Results.First(); var detailsRequest = new PlaceDetailsRequest(); detailsRequest.PlaceId = first.Id; var detailsResponse = await detailsRequest.ExecuteAsync(); Assert.IsNotNull(detailsResponse); }
public async static Task <PlaceDetailsResponse> PlaceDetails(GetAddesssApi api, string path, ApiKey apiKey, PlaceDetailsRequest request) { if (api == null) { throw new ArgumentNullException(nameof(api)); } if (path == null) { throw new ArgumentNullException(nameof(path)); } if (apiKey == null) { throw new ArgumentNullException(nameof(apiKey)); } if (request == null) { throw new ArgumentNullException(nameof(request)); } var fullPath = $"{path}{request.PlaceId.Value}/?google-api-key={request.GoogleApiKey.Value}"; api.SetAuthorizationKey(apiKey); var response = await api.Get(fullPath); var json = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { var addressBody = GetSingleExpandedAddressFromBody(json); double latitude = addressBody.Item1; double longitude = addressBody.Item2; var address = addressBody.Item4; var postcode = addressBody.Item3; return(new PlaceDetailsResponse.Success((int)response.StatusCode, response.ReasonPhrase, json, latitude, longitude, postcode, address)); } return(new PlaceDetailsResponse.Failed((int)response.StatusCode, response.ReasonPhrase, json)); }
public async Task <PlaceDetailsResponse> PlaceDetails(PlaceDetailsRequest request) { var path = "google/place-details/"; return(await PlaceDetails(Api, path, this.ApiKey, request)); }