public async Task <GooglePlaceNearbySearchRootObject> GetAsync(GooglePlaceNearbySearchInput input) { var uri = _googleUriProvider.Create(input); var resultJson = await _httpClient.GetStringAsync(uri); var result = JsonConvert.DeserializeObject <GooglePlaceNearbySearchRootObject>(resultJson); result.resultJson = resultJson; return(result); }
public string Create(GooglePlaceNearbySearchInput input) { StringBuilder builder = new StringBuilder(); builder.Append($"{Output}?key={GoogleApiKey}"); builder.Append($"&location={(input.Location.lat).ToString(System.Globalization.CultureInfo.InvariantCulture)},{input.Location.lng.ToString(System.Globalization.CultureInfo.InvariantCulture)}"); if (input.Radius != null) { builder.Append($"&radius={input.Radius}"); } else { builder.Append($"&rankby=distance"); } builder.Append($"&language={input.Language.GetString()}"); if (!String.IsNullOrWhiteSpace(input.Keyword)) { builder.Append($"&keyword={EncodeString(input.Keyword)}"); } if (input.Type != null) { if (!String.IsNullOrWhiteSpace(input.Type.Name)) { builder.Append($"&type={input.Type.Name}"); } } if (input.Minprice != null) { builder.Append($"&minprice={input.Minprice}"); } if (input.Maxprice != null) { builder.Append($"&maxprice={input.Maxprice}"); } return(builder.ToString()); }