在《C#的百度地图开发(二)转换JSON数据为相应的类》一文中,我们得到了百度坐标,现在依据这一坐标来获取相应的信息。下面是相应的代码
public class BaiduMap
{
/// <summary>
/// 依据坐标获取定位信息的URL模板。
/// 参数1:百度地图API的KEY。
/// 参数2:坐标(经度,纬度)。
/// </summary>
public const string GEOCODING_COORDINATE_URL_TEMPLATE =
"http://api.map.baidu.com/geocoder/v2/?ak={0}&location={1}&output=json&pois=1";
/// <summary>
/// 依据坐标获取定位信息
/// </summary>
/// <param name="coordinates">坐标(经度,纬度),多个坐标间用分号隔开</param>
/// <param name="mapCoordinateType">坐标类型</param>
/// <returns></returns>
public static CoordLocationResult FetchLocation(String coordinates,
MapCoordinateType mapCoordinateType)
{
CoordTransResult transformResult = TransToBaiduCoord(coordinates, mapCoordinateType);
String info = "";
if (!transformResult.status.Equals(CoordTransStatus.OK))
{
info = "坐标转换异常:状态是---" + transformResult.status.ToString();
return null;
}
if (transformResult.result == null || transformResult.result.Length <= 0)
{
info = "坐标转换异常:结果为空或数组长度为0";
return null;
}
String locationUrl = "";
foreach (Coordinate coordTemp in transformResult.result)
{
locationUrl = String.Format(GEOCODING_COORDINATE_URL_TEMPLATE,
MAP_KEY_BAI_DU,
coordTemp.x + ",