public class BaiduPosition
{
public int status { get; set; }
public Result result { get; set; }
}
public class Result
{
public Location location { get; set; }
public int precise { get; set; }
public int confidence { get; set; }
public string level { get; set; }
}
public class Location
{
public decimal lng;
public decimal lat;
public Location(decimal x, decimal y)
{
lng = x;
lat = y;
}
}
public static class BaiduMap
{
public static Location GetSupplierLocation(string address)
{
address += "上海市" + address;
String url = "http://api.map.baidu.com/geocoder/v2/?address=" + address + "&output=json&ak=XBPX8dmIuAzluWeOtTAzsCECpkxkLudV";
var response = WebHelper.HttpWebRequest(url, string.Empty, Encoding.UTF8, false);
decimal lng = 0, lat = 0;
var position = Json.ToObject<BaiduPosition>(response);
if (position != null && position.status == 0 && position.result != null && position.result.location != null)
{
lng = position.result.location.lng;
lat = position.result.location.lat;
}
return new Location(lng, lat);
}
}