public MapServerHelper(string url) { MapServerUrl = url; string result = ZWebClient.DownloadString($"{MapServerUrl}?f=pjson"); JObject info = JObject.Parse(result); JArray layers = info.GetValue("layers") as JArray; LayerLst = layers.Select(obj => new MapServerLayer(MapServerUrl, (JObject)obj)).ToList(); }
/// <summary> /// 获取features /// </summary> /// <returns></returns> public JArray GetFeatures(string where, string outFields = "*") { string queryStr = $"query?where={where}&time=&returnCountOnly=false&returnIdsOnly=false&returnGeometry=true&outFields={outFields}&f=pjson"; string result = ZWebClient.DownloadString($"{url}/{id}/{queryStr}"); JObject obj = JObject.Parse(result); JArray features = obj.Value <JArray>("features"); return(features); }
/// <summary> /// 获取Feature的总数 /// </summary> /// <param name="where"></param> /// <returns></returns> public int GetFeautreNum(string where = "1=1") { string queryStr = $"query?where={where}&time=&returnCountOnly=true&returnIdsOnly=true&returnGeometry=false&outFields=*&f=pjson"; string result = ZWebClient.DownloadString($"{url}/{id}/{queryStr}"); JObject obj = JObject.Parse(result); JToken token = null; if (obj.TryGetValue("objectIds", out token)) { return(((JArray)token).Count()); } else if (obj.TryGetValue("count", out token)) { return(Convert.ToInt32(token.ToString())); } else { return(0); } }