public PlacesNearbySearchResponse NearbySearch(double lat, double lgn) { var response = new PlacesNearbySearchResponse(); try { var AppKey = new ConfigurationBuilder().AddJsonFile("application.default.json").Build().GetSection("AppSettings")["ApiKey"]; var request = new PlacesNearBySearchRequest { Key = AppKey.ToString(),//this.ApiKey, Location = new Location() { Latitude = lat, Longitude = lgn }, Radius = 1000 }; HttpEngine <PlacesNearBySearchRequest, PlacesNearbySearchResponse> httpResponse = new HttpEngine <PlacesNearBySearchRequest, PlacesNearbySearchResponse>(); response = httpResponse.Query(request); } catch (Exception ex) { Trace.WriteLine("Exception during geting places data: " + ex.ToString()); } return(response); }
public void PlacesTextSearchWhenPageTokenTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Coordinate(51.491431, -3.16668), Radius = 1000 }; var response = GooglePlaces.NearBySearch.Query(request); Assert.IsNotNull(response); Assert.IsNotNull(response.NextPageToken); var requestNextPage = new PlacesNearBySearchRequest { Key = this.ApiKey, PageToken = response.NextPageToken }; Thread.Sleep(1500); var responseNextPage = GooglePlaces.NearBySearch.Query(requestNextPage); Assert.IsNotNull(responseNextPage); Assert.AreNotEqual(response.Results.FirstOrDefault()?.PlaceId, responseNextPage.Results.FirstOrDefault()?.PlaceId); }
public void PlacesNearBySearchWhenPageTokenTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(51.491431, -3.16668), Radius = 1000, Type = SearchPlaceType.School }; var response = GooglePlaces.NearBySearch.Query(request); Assert.IsNotNull(response); Assert.IsNotNull(response.NextPageToken); var requestNextPage = new PlacesNearBySearchRequest { Key = this.ApiKey, PageToken = response.NextPageToken }; var responseNextPage = GooglePlaces.NearBySearch.Query(requestNextPage); Assert.IsNotNull(responseNextPage); Assert.AreNotEqual(response.Results.FirstOrDefault()?.PlaceId, responseNextPage.Results.FirstOrDefault()?.PlaceId); }
public async Task <ActionResult <GoogleApi.Entities.Places.BasePlacesResponse> > ResultDataRestaurant(String keySearch) { if (keySearch == null) { keySearch = ""; } // Make cache data if (cacheData.ContainsKey(keySearch) == false) { PlacesNearBySearchRequest r = new PlacesNearBySearchRequest(); r.Key = "AIzaSyBIZbXFcjf_Bqt5rYoud1mBuoYf3HpBVTo"; r.Type = GoogleApi.Entities.Places.Search.Common.Enums.SearchPlaceType.Restaurant; r.Radius = 5000; r.Name = keySearch; r.Location = new GoogleApi.Entities.Places.Search.NearBy.Request.Location(13.800, 100.5081204); var _response = GoogleApi.GooglePlaces.NearBySearch.Query(r); cacheData.Add(keySearch, _response); return(_response); } else { return(cacheData[keySearch]); } }
public void PlacesNearBySearchWhenAsyncAndTimeoutTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(51.491431, -3.16668), Radius = 500, Type = SearchPlaceType.School }; var exception = Assert.Throws <AggregateException>(() => { var result = GooglePlaces.NearBySearch.QueryAsync(request, TimeSpan.FromMilliseconds(1)).Result; Assert.IsNull(result); }); Assert.IsNotNull(exception); Assert.AreEqual(exception.Message, "One or more errors occurred."); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(innerException.GetType(), typeof(TaskCanceledException)); Assert.AreEqual(innerException.Message, "A task was canceled."); }
public PlacesNearbySearchResponse NearbySearchTest() { //Arrange var response = new PlacesNearbySearchResponse(); var request = new PlacesNearBySearchRequest { Key = "AIzaSyB_4x15ATP7Br_fRJpb215UGhsL519cwPA", Location = new Location() { Latitude = 45.8057017, Longitude = 15.9205017 }, Radius = 1000 }; HttpEngine <PlacesNearBySearchRequest, PlacesNearbySearchResponse> httpResponse = new HttpEngine <PlacesNearBySearchRequest, PlacesNearbySearchResponse>(); // Act response = httpResponse.Query(request); // Assert Assert.IsNotNull(response); return(response); }
public async Task <List <ItemPlace> > Start() { PlacesNearBySearchRequest s = new PlacesNearBySearchRequest(); _nearby = new LocatorNearBy(); var res = await _nearby.GetNearByLocations(s); return(res); }
public void PlacesNearBySearchWhenApiKeyIsStringEmptyTest() { var request = new PlacesNearBySearchRequest { Key = string.Empty }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "ApiKey must be provided"); }
//恩旗 internal Task <PlacesNearbySearchResponse> GetWorkoutPlaces(string keyword, GeoCoordinate coord) { PlacesNearBySearchRequest placeRequest = new PlacesNearBySearchRequest(); placeRequest.Key = "AIzaSyAE3Hi6N9QONHypztdZAvYkdTIOXdnzNE4"; placeRequest.Language = GoogleApi.Entities.Common.Enums.Language.ChineseTraditional; placeRequest.Keyword = keyword; placeRequest.Location = new Location(coord.Latitude, coord.Longitude); placeRequest.Radius = 2000d; return(GoogleApi.GooglePlaces.NearBySearch.QueryAsync(placeRequest)); }
public void PlacesNearBySearchWhenLocationIsNullTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = null }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Location is required."); }
public void GetQueryStringParametersTest() { var request = new PlacesNearBySearchRequest { Key = "abc", Location = new Location(0, 0), Radius = 5000, Keyword = "test" }; Assert.DoesNotThrow(() => request.GetQueryStringParameters()); }
public IEnumerable <string> Get() { var request = new PlacesNearBySearchRequest { Key = null, Location = new Location(0, 0), Radius = 5000, Keyword = "test" }; return(new string[] { "value1", "value2" }); }
public void PlacesNearBySearchWhenRadiusIsNullTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(0, 0), Radius = null }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Radius is required, when RankBy is not Distance"); }
public void PlacesNearBySearchWhenRadiusIsNullTest() { var request = new PlacesNearBySearchRequest { Key = this.apiKey, Location = new Location(51.491431, -3.16668), Radius = null }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Radius must not be null when RankBy is not Distance"); }
public void PlacesNearBySearchWhenRankByDistanceAndNameIsNullAndKeywordIsNullAndTypeIsNullTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(51.491431, -3.16668), Rankby = Ranking.Distance }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Keyword or Name or Type is required, If rank by distance."); }
public void ConstructorDefaultTest() { var request = new PlacesNearBySearchRequest(); Assert.IsNull(request.Type); Assert.IsNull(request.Radius); Assert.IsNull(request.Location); Assert.IsNull(request.Minprice); Assert.IsNull(request.Maxprice); Assert.IsFalse(request.OpenNow); Assert.AreEqual(Language.English, request.Language); Assert.AreEqual(Ranking.Prominence, request.Rankby); }
public void PlacesNearBySearchWhenRadiusIsGereaterThanFiftyThousandTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(51.491431, -3.16668), Radius = 50001 }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Radius must be greater than or equal to 1 and less than or equal to 50.000."); }
// GET: api/Places public object Get(double latitude = 2.92105, double longitute = 101.66700, int radius = 1000) { PlacesNearBySearchRequest request = new PlacesNearBySearchRequest { Key = ConfigurationManager.AppSettings["GoogleApiKey"], Location = new Location(latitude, longitute), Radius = radius, Type = SearchPlaceType.Restaurant }; var result = GooglePlaces.NearBySearch.Query(request); return(Json(result)); }
public void PlacesNearBySearchWhenKeyIsStringEmptyTest() { var request = new PlacesNearBySearchRequest { Key = string.Empty, Location = new Location(0, 0), Radius = 10 }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Key is required."); }
public void GetUriWhenPageTokenTest() { var request = new PlacesNearBySearchRequest { Key = "abc", PageToken = "abc" }; var uri = request.GetUri(); Assert.IsNotNull(uri); Assert.AreEqual($"/maps/api/place/nearbysearch/json?key={request.Key}&pagetoken={request.PageToken}", uri.PathAndQuery); }
public void GetUriTest() { var request = new PlacesNearBySearchRequest { Key = "abc", Location = new Location(1, 1), Radius = 50 }; var uri = request.GetUri(); Assert.IsNotNull(uri); Assert.AreEqual($"/maps/api/place/nearbysearch/json?key={request.Key}&rankby={request.Rankby.ToString().ToLower()}&language={request.Language.ToCode()}&location={Uri.EscapeDataString(request.Location.ToString())}&radius={request.Radius}", uri.PathAndQuery); }
public void PlacesNearBySearchTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Coordinate(51.491431, -3.16668), Radius = 1000 }; var response = GooglePlaces.NearBySearch.Query(request); Assert.IsNotNull(response); Assert.AreEqual(Status.Ok, response.Status); }
public void PlacesNearBySearchWhenRankByDistanceAndRadiusIsNotNullTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(51.491431, -3.16668), Radius = 50001, Rankby = Ranking.Distance }; var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.NearBySearch.Query(request)); Assert.AreEqual(exception.Message, "Radius cannot be specified, when using RankBy distance"); }
public void PlacesNearBySearchWhenAsyncTest() { var request = new PlacesNearBySearchRequest { Key = this.ApiKey, Location = new Location(51.491431, -3.16668), Radius = 500, Type = SearchPlaceType.School }; var response = GooglePlaces.NearBySearch.QueryAsync(request).Result; Assert.IsNotNull(response); Assert.AreEqual(Status.Ok, response.Status); }
public void GetQueryStringParametersWhenKeyIsStringEmptyTest() { var request = new PlacesNearBySearchRequest { Key = string.Empty }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "'Key' is required"); }
public void GetUriWhenMaxpriceTest() { var request = new PlacesNearBySearchRequest { Key = "abc", Location = new Location(1, 1), Radius = 50, Maxprice = PriceLevel.Free }; var uri = request.GetUri(); Assert.IsNotNull(uri); Assert.AreEqual($"/maps/api/place/nearbysearch/json?key={request.Key}&rankby={request.Rankby.ToString().ToLower()}&language={request.Language.ToCode()}&location={Uri.EscapeDataString(request.Location.ToString())}&radius={request.Radius}&maxprice={((int)request.Maxprice.GetValueOrDefault()).ToString()}", uri.PathAndQuery); }
public async Task <List <ItemPlace> > GetNearByLocations(PlacesNearBySearchRequest filter) { List <ItemPlace> result = new List <ItemPlace>(); try { result = await _apiRequest.RequestPlaces(); } catch (Exception ex) { throw new Exception(ex.Message); } return(result); }
public void GetQueryStringParametersTest() { var request = new PlacesNearBySearchRequest { Key = "key", Location = new Coordinate(0, 0), Radius = 100 }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var key = queryStringParameters.FirstOrDefault(x => x.Key == "key"); var keyExpected = request.Key; Assert.IsNotNull(key); Assert.AreEqual(keyExpected, key.Value); var keyword = queryStringParameters.FirstOrDefault(x => x.Key == "keyword"); var keywordExpected = request.Keyword; Assert.IsNotNull(keyword); Assert.AreEqual(keywordExpected, keyword.Value); var language = queryStringParameters.FirstOrDefault(x => x.Key == "language"); Assert.IsNotNull(language); Assert.AreEqual("en", language.Value); var rankby = queryStringParameters.FirstOrDefault(x => x.Key == "rankby"); var rankbyExpected = Ranking.Prominence.ToString().ToLower(); Assert.IsNotNull(rankby); Assert.AreEqual(rankbyExpected, rankby.Value); var location = queryStringParameters.FirstOrDefault(x => x.Key == "location"); var locationExpected = request.Location.ToString(); Assert.IsNotNull(location); Assert.AreEqual(locationExpected, location.Value); var radius = queryStringParameters.FirstOrDefault(x => x.Key == "radius"); var radiusExpected = request.Radius.ToString(); Assert.IsNotNull(radius); Assert.AreEqual(radiusExpected, radius.Value); }
public void GetQueryStringParametersWhenLocationIsNullTest() { var request = new PlacesNearBySearchRequest { Key = "key", Location = null }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "'Location' is required"); }
public void GetUriWhenTypeTest() { var request = new PlacesNearBySearchRequest { Key = "abc", Location = new Location(1, 1), Radius = 50, Type = SearchPlaceType.Accounting }; var uri = request.GetUri(); var attribute = request.Type?.GetType().GetMembers().FirstOrDefault(x => x.Name == request.Type.ToString())?.GetCustomAttribute <EnumMemberAttribute>(); Assert.IsNotNull(uri); Assert.AreEqual($"/maps/api/place/nearbysearch/json?key={request.Key}&rankby={request.Rankby.ToString().ToLower()}&language={request.Language.ToCode()}&location={Uri.EscapeDataString(request.Location.ToString())}&radius={request.Radius}&type={attribute?.Value.ToLower()}", uri.PathAndQuery); }