private async Task <PublicHousingAuthorityInfo> GetPublicHousingAuthorityInfoAsync(string city, string state) { ArcGisBaseUri uri = new ArcGisBaseUri("VTyQ9soqVukalItT", "PublicHousingAuthorities"); var queryTask = new QueryTask(new Uri(uri.ToString())); var timeWindow = new Esri.ArcGISRuntime.Data.TimeExtent(DateTime.Now.Subtract(new TimeSpan(0, 5, 0, 0)), DateTime.Now); var queryParams = new Esri.ArcGISRuntime.Tasks.Query.Query(timeWindow); queryParams.Where = String.Format("(STD_CITY = '{0}' AND STD_ST = '{1}')", city, state); queryParams.OutFields = OutFields.All; QueryResult queryResult = await queryTask.ExecuteAsync(queryParams); var attributes = queryResult.FeatureSet.Features[0].Attributes; return(new PublicHousingAuthorityInfo { Name = (string)attributes["FORMAL_PARTICIPANT_NAME"], Address = (string)attributes["STD_ADDR"], Phone = (string)attributes["EXEC_DIR_PHONE"], City = (string)attributes["STD_CITY"], State = (string)attributes["STD_ST"], PostalCode = (string)attributes["STD_ZIP5"], Email = (string)attributes["EXEC_DIR_EMAIL"] }); }
public static dynamic RequestByCoordinate(string apiId, string apiName, string latitude, string longitude) { ArcGisBaseUri baseUri = new ArcGisBaseUri(apiId, apiName); string url = String.Format("{0}query?where=1%3D1&objectIds=&time=&geometry=%7B%22x%22%3A+{1}%2C+%22y%22%3A+{2}%2C+%22spatialReference%22%3A+%7B%22wkid%22%3A+4326%7D%7D&geometryType=esriGeometryPoint&inSR=&spatialRel=esriSpatialRelIntersects&distance=&units=esriSRUnit_Meter&outFields=*&returnGeometry=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&quantizationParameters=&f=pjson&token=", baseUri.ToString(), longitude, latitude); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (StreamReader stream = new StreamReader(response.GetResponseStream())) { string jsonResponse = stream.ReadToEnd(); var result = JsonConvert.DeserializeObject <dynamic>(jsonResponse); return(result["features"][0]["attributes"]); } }