《C#操作百度地图.docx》由会员分享,可在线阅读,更多相关《C#操作百度地图.docx(5页珍藏版)》请在三一办公上搜索。
1、C#操作百度地图using System.Text; using System.Net; using System.Xml; using System.IO; namespace IndustryPlat.ClassLibrary.MapLocation public class baiduGMap / / 根据经伟度取得物理地址 / / 纬度坐标 / 经度坐标 / Key / public static string GetAddress(string lat, string lng,string ak) try string url = + lat + , + lng + &output=
2、xml&pois=1; WebRequest request = WebRequest.Create(url); request.Method = POST; XmlDocument xmlDoc = new XmlDocument; string sendData = xmlDoc.InnerXml; byte byteArray = Encoding.Default.GetBytes(sendData); Stream dataStream = request.GetRequestStream; dataStream.Write(byteArray, 0, byteArray.Length
3、); dataStream.Close; WebResponse response = request.GetResponse; dataStream = response.GetResponseStream; StreamReader reader = new StreamReader(dataStream, System.Text.Encoding.GetEncoding(utf-8); string responseXml = reader.ReadToEnd; XmlDocument xml = new XmlDocument; xml.LoadXml(responseXml); st
4、ring status = xml.DocumentElement.SelectSingleNode(status).InnerText; if (status = 0) XmlNodeList nodes = xml.DocumentElement.GetElementsByTagName(formatted_address); if (nodes.Count 0) return nodes0.InnerText; else return 未获取到位置信息,错误码3; else return 未获取到位置信息,错误码1; catch (System.Exception ex) return
5、ex.ToString; / / 根据物理地址取得经伟度,返回格式:纬度坐标,经度坐标=Lat,lng / / 地址 / Key / public static string Getlnglat(string AddrStr, string ak) try string url = + ak + &callback=renderReverse&address= + AddrStr + &output=xml&pois=1; WebRequest request = WebRequest.Create(url); request.Method = POST; XmlDocument xmlDoc
6、 = new XmlDocument; string sendData = xmlDoc.InnerXml; byte byteArray = Encoding.Default.GetBytes(sendData); Stream dataStream = request.GetRequestStream; dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close; WebResponse response = request.GetResponse; dataStream = response.GetResponse
7、Stream; StreamReader reader = new StreamReader(dataStream, System.Text.Encoding.GetEncoding(utf-8); string responseXml = reader.ReadToEnd; XmlDocument xml = new XmlDocument; xml.LoadXml(responseXml); string status = xml.DocumentElement.SelectSingleNode(status).InnerText; if (status = 0) XmlNodeList
8、nodeslat = xml.DocumentElement.GetElementsByTagName(lat); XmlNodeList nodeslng = xml.DocumentElement.GetElementsByTagName(lng); if (nodeslat.Count 0 & nodeslng.Count0) return nodeslat0.InnerText + , + nodeslng0.InnerText; else return 未获取到位置信息,错误码3; else return 未获取到位置信息,错误码1; catch (System.Exception ex) return ex.ToString;