1 try 2 { 3 #region MyRegion 4 5 string ak = "BfH08PCAsZ8SfbiXXEXRkSzn4MA00Mdk"; 6 var _name = row["hospital_name"]; 7 var _proName = row["province"]; 8 var _city = row["city"]; 9 //var address = row["address"]; 10 var urlName = string.Format("{0},{1},{2}", _proName, _city, _name); 11 //pois 是否搜索周边 0或1 12 //string Url = @"http://api.map.baidu.com/geocoding/v3/?address=" + urlName + "&output=json&ak=" + ak + "&callback = showLocation"; 13 //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); 15 string Url = "http://api.map.baidu.com/geocoder?address={0}&output=json&key=BfH08PCAsZ8SfbiXXEXRkSzn4MA00Mdk"; 16 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(string.Format(Url, urlName)); 17 request.KeepAlive = false; 18 request.Method = "GET"; 19 20 // request.ContentType = "application/json"; 21 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
29 #region MyRegion 30 Stream myResponseStream = response.GetResponseStream(); 31 // StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); 32 StreamReader myStreamReader = new StreamReader(myResponseStream); 33 string responseString = myStreamReader.ReadToEnd(); 34 myStreamReader.Close(); 35 myResponseStream.Close(); 36 response.Close(); 37 request.Abort(); 38 39 //JObject obj_RawData = (JObject)(JsonConvert.DeserializeObject(responseString)); 40 //JObject obj_Result = (JObject)(JsonConvert.DeserializeObject(obj_RawData["result"].ToString())); 41 //JObject obj_Loaction = (JObject)(JsonConvert.DeserializeObject(obj_Result["location"].ToString())); 42 //string lng = obj_Loaction["lng"].ToString(); //经度值 43 //string lat = obj_Loaction["lat"].ToString(); //纬度值 44 45 #endregion 46 JObject jo = (JObject)JsonConvert.DeserializeObject(responseString); 47 //有些地址是查询不出来result的,因此要做个判断 48 string lat = "", lng = ""; 49 if (string.Equals(jo["status"].ToString(), "OK") && jo["result"].ToString() != "[]") 50 { 51 lat = jo["result"]["location"]["lat"].ToString(); 52 lng = jo["result"]["location"]["lng"].ToString(); 53 } 54 #endregion 55 arrys = new string[] { lng, lat }; 56 result.response = arrys; 57 } 58 catch (Exception ex) { result.msg = ex.ToString(); }
原文:https://www.cnblogs.com/lyboke/p/14844674.html