public async Task <ActionResult> QueryRectangle(RectangleQuery query) { if (!ModelState.IsValid) { return(Json("{\"result\":\"Bad Request\"}", JsonRequestBehavior.AllowGet)); } var min = new GeoPoint(query.MinLat, query.MinLng); var max = new GeoPoint(query.MaxLat, query.MaxLng); var attributesToGet = new List <string> { _config.RangeKeyAttributeName, _config.GeoJsonAttributeName, "schoolName" }; var radReq = new QueryRectangleRequest(min, max); radReq.QueryRequest.AttributesToGet = attributesToGet; var result = await _geoDataManager.QueryRectangleAsync(radReq); var dtos = GetResultsFromQuery(result); return(Json(dtos, JsonRequestBehavior.AllowGet)); }
public async Task <QueryRectangleResult> QueryRectangleAsync(QueryRectangleRequest queryRectangleRequest, CancellationToken cancellationToken = default(CancellationToken)) { if (queryRectangleRequest == null) { throw new ArgumentNullException("queryRectangleRequest"); } var latLngRect = S2Util.GetBoundingLatLngRect(queryRectangleRequest); var cellUnion = S2Manager.FindCellIds(latLngRect); var ranges = MergeCells(cellUnion); var result = await DispatchQueries(ranges, queryRectangleRequest, cancellationToken).ConfigureAwait(false); return(new QueryRectangleResult(result)); }
public async Task <ActionResult> QueryRectangle(MapBounds bounds) { //await Utilities.Instance.StartLoadData(this.geoService); var min = new GeoPoint(bounds.MinLat, bounds.MinLng); var max = new GeoPoint(bounds.MaxLat, bounds.MaxLng); var attributesToGet = new List <string> { "geoJson", "rangeKey" }; var radReq = new QueryRectangleRequest(min, max); radReq.QueryRequest.AttributesToGet = attributesToGet; var result = await geoService.QueryRectangleAsync(radReq); var dtos = GetResultsFromQuery(result); return(Ok(dtos)); }