const string KEY = "这里填写高德WebAPI的KEY,其他KEY例如安卓KEY ,JS KEY都不可以。";
/// <summary>
/// 国际标准GPS转换高德GPS
/// </summary>
/// <param name="lon">原始经度</param>
/// <param name="lat">原始纬度</param>
/// <returns>返回以逗号分割的经纬度组合字符串</returns>
public static string WGS84ToGCJ02(double lon, double lat)
{
WebClient server = new WebClient();
string url = String.Format("http://restapi.amap.com/v3/assistant/coordinate/convert?locations={0},{1}&coordsys=gps&output=json&key={2}", lon, lat, KEY);
var replyBuffer = server.DownloadData(url);
var reply = System.Text.Encoding.UTF8.GetString(replyBuffer);
if (String.IsNullOrEmpty(reply))
return "";
JObject result = (JObject)JsonConvert.DeserializeObject(reply);
if (result["status"].Value<string>() == "1")
{
var locations = result["locations"];
var gps = locations.Value<string>();
return gps;
}
else
return "";
}
将硬件原始GPS转换为 高德GPS
var location =WGS84ToGCJ02(120.123212,30.121232);
if(location =="")
return;
var lon =location.Split(',')[0]; // 获取的经度。
var lat =location.Split(',')[1]; //获取的纬度。