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


本文整理自网络,侵删。

 

通过百度地图Geocoding API Web服务API,实现输入经纬度

坐标,转换为经纬度所在地址,效果如图:
API参见
1、百度地图地理编码服务Geocoding API
2、百度地图国际化逆地理编码服务Geocoding 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请求
json示例:
http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1
xml示例:
http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
这里用的是返回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;

相关阅读 >>

Delphi d10.x 在android 9及更高版本下使用Delphi获取设备序列号?

Delphi 时间差函数及部分字符串与日期时间相互转换的函数

Delphi 使窗口透明,并透过透明的窗口操作下面的窗口

idhttpserver允许跨域访问

Delphi压缩图片代码

Delphi tstatusbar 用来显示当前程序状态的

Delphi与汇编

Delphi 重启启动计算机的代码

Delphi 10分钟10行代码开发app(Delphi 应用案例)

Delphi中模拟鼠标点击事件

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...