国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C#封裝百度Web服務(wù)API處理包含(Geocoding API,坐標(biāo)轉(zhuǎn)換API)

2019-11-17 03:14:52
字體:
供稿:網(wǎng)友

C#封裝百度Web服務(wù)API處理包含(Geocoding API,坐標(biāo)轉(zhuǎn)換API)

1、創(chuàng)建基礎(chǔ)參數(shù)類

 1   public static class BaiduConstParams 2     { 3         public const string PlaceApIv2Search = "http://api.map.baidu.com/place/v2/search"; 4         public const string PlaceApIv2Detail = "http://api.map.baidu.com/place/v2/detail"; 5         public const string PlaceApIv2Eventsearch = "http://api.map.baidu.com/place/v2/eventsearch"; 6         public const string PlaceApIv2Eventdetail = "http://api.map.baidu.com/place/v2/eventdetail"; 7         public const string GeocodingApIv2 = "http://api.map.baidu.com/geocoder/v2/"; 8         public const string GeocodingApIv2Reverse = "http://api.map.baidu.com/geocoder/v2/"; 9         public const string TranslateApi = "http://openapi.baidu.com/public/2.0/bmt/translate";10         public const string GeoconvApi = "http://api.map.baidu.com/geoconv/v1/";11     }12 13     public static class BaiduErrorMessages14     {15         public const string NotKey = "密鑰不存在";16         public const string LackParam = "缺少必要請求參數(shù)";17     }
View Code

2、定義API錯誤信息與產(chǎn)品信息

 1 public enum BaiduLbsType 2     { 3         PlaceApIv2Search, 4         PlaceApIv2Detail, 5         PlaceApIv2Eventsearch, 6         PlaceApIv2Eventdetail, 7         GeocodingApIv2, 8         GeocodingApIv2Reverse, 9         Translate,10         Geoconv11     }12 13     public enum Status14     {15         /// <summary>16         /// 正常    17         /// </summary>18         Ok = 0,19         /// <summary>20         /// 請求參數(shù)非法    21         /// </summary>22         ParameterInvalid = 2,23         /// <summary>24         /// 權(quán)限校驗失敗25         /// </summary>26         VerifyFailure = 3,27         /// <summary>28         /// 配額校驗失敗29         /// </summary>30         QuotaFailure = 4,31         /// <summary>32         /// 不存在或者非法    33         /// </summary>34         AkFailure = 5,35         /// <summary>36         /// Transform 內(nèi)部錯誤37         /// </summary>38         InternalError = 1,39         /// <summary>40         /// from非法41         /// </summary>42         FromIllegal = 21,43         /// <summary>44         /// to非法45         /// </summary>46         ToIllegal = 22,47         /// <summary>48         /// coords非法49         /// </summary>50         CoordsIllegal = 24,51         /// <summary>52         /// coords個數(shù)非法,超過限制53         /// </summary>        54         CoordsCountIllegal = 2555 56     }
View Code

3、定義API結(jié)果返回實體映射類

 public class BaiduGeocodingResults    {        /// <summary>        /// 返回結(jié)果狀態(tài)值, 成功返回0,其他值請查看附錄。        /// </summary>        [JsonPRoperty(PropertyName = "status")]        public Status Status;        /// <summary>        /// 返回結(jié)果狀態(tài)值, 成功返回0,其他值請查看附錄。        /// </summary>        [JsonProperty(PropertyName = "result")]        public BaiduGeocodingResult Result;    }    public class BaiduGeocodingResult    {        /// <summary>        /// 經(jīng)緯度坐標(biāo)        /// </summary>        [JsonProperty(PropertyName = "location")]        public BaiduGeocodingLoaction Location;        /// <summary>        /// 位置的附加信息,是否精確查找。1為精確查找,0為不精確。        /// </summary>        [JsonProperty(PropertyName = "precise")]        public int Precise;        /// <summary>        /// 可信度        /// </summary>        [JsonProperty(PropertyName = "confidence")]        public int Confidence;        /// <summary>        /// 地址類型        /// </summary>        [JsonProperty(PropertyName = "level")]        public string Level;        /// <summary>        /// 結(jié)構(gòu)化地址信息        /// </summary>        [JsonProperty(PropertyName = "formatted_address")]        public string FormattedAddress;        /// <summary>        /// 所在商圈信息,如 "人民大學(xué),中關(guān)村,蘇州街"        /// </summary>        [JsonProperty(PropertyName = "business")]        public string Business;        /// <summary>        /// 具體地址        /// </summary>        [JsonProperty(PropertyName = "addressComponent")]        public BaiduGeocodingAddress AddressComponent;    }    public class BaiduGeocodingLoaction    {        /// <summary>        /// 緯度值        /// </summary>        [JsonProperty(PropertyName = "lat")]        public decimal Lat;        /// <summary>        /// 經(jīng)度值        /// </summary>        [JsonProperty(PropertyName = "lng")]        public decimal Lng;    }    public class BaiduGeocodingAddress    {        /// <summary>        /// 城市名        /// </summary>        [JsonProperty(PropertyName = "city")]        public string City;        /// <summary>        /// 區(qū)縣名        /// </summary>        [JsonProperty(PropertyName = "district")]        public string District;        /// <summary>        /// 省名        /// </summary>        [JsonProperty(PropertyName = "province")]        public string Province;        /// <summary>        /// 街道名        /// </summary>        [JsonProperty(PropertyName = "street")]        public string Street;        /// <summary>        /// 街道門牌號        /// </summary>        [JsonProperty(PropertyName = "street_number")]        public string StreetNumber;    }
View Code

4、創(chuàng)建API通用處理類

  1 public class BaiduLbs  2     {  3         private readonly string _key;  4   5         public static string CurrentRequest = "";  6   7         public BaiduLbs(string key)  8         {  9             _key = key; 10         } 11  12         /// <summary> 13         /// 請求 14         /// </summary> 15         /// <param name="param"></param> 16         /// <param name="baiduLbsType"></param> 17         /// <param name="encoding"></param> 18         /// <param name="action"></param> 19         public void Request(string param, BaiduLbsType baiduLbsType, Encoding encoding, Action<string> action) 20         { 21             WebClient webClient = new WebClient { Encoding = encoding }; 22             string url = ""; 23             switch (baiduLbsType) 24             { 25                 case BaiduLbsType.PlaceApIv2Search: 26                     url = string.Format(BaiduConstParams.PlaceApIv2Search + "?{0}", param); 27                     break; 28                 case BaiduLbsType.PlaceApIv2Detail: 29                     url = string.Format(BaiduConstParams.PlaceApIv2Detail + "?{0}", param); 30
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 灯塔市| 长顺县| 屯门区| 闽清县| 南漳县| 长葛市| 娱乐| 中山市| 徐州市| 五华县| 武功县| 托克逊县| 积石山| 右玉县| 竹北市| 绥中县| 临城县| 富平县| 尚义县| 定日县| 亚东县| 高雄县| 宁蒗| 广昌县| 宁乡县| 峨眉山市| 通辽市| 溧水县| 宜丰县| 临沂市| 阿拉善盟| 苏尼特右旗| 花莲市| 福海县| 兴安县| 虎林市| 中江县| 横山县| 普定县| 札达县| 合川市|