Delphi专题 ·

Delphi百度地图经纬度与地址互转

用Delphi实现百度地图经纬度地址互转

通过百度地图Geocoding API Web服务API,实现输入经纬度坐标,转换经纬度所在地址,效果如图:

Delphi百度地图经纬度与地址互转 Delphi专题 第1张

API参见

接口功能介绍

  • 1、地理编码
    http://api.map.baidu.com/geocoder/v2/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation //GET请求
  • 2、逆地理编码
    http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=35.658651,139.745415&output=json&pois=1&ak=您的ak //GET请求

这里用的是返回xml格式,使用的是XMLDocument控件

参考代码

procedure TForm1.Button1Click(Sender: TObject);
var
  url: string;
begin
  url := 'http://api.map.baidu.com/geocoder/v2/?ak=' + Edit1.Text +
    '&callback=renderReverse&location=' + Edit2.Text + ',' + Edit3.Text +
    '&output=xml&pois=1';
  XMLDocument1.LoadFromFile(url);
  Memo1.Lines := XMLDocument1.Xml;
  Memo2.Lines.Add(XMLDocument1.DocumentElement.ChildNodes['result'].ChildNodes
    ['formatted_address'].NodeValue);
end;

视频演示

相关下载

点击下载

参与评论