delphi 调用百度地图WEBSERVICE转换GPS坐标
百度地图的API说明
使用方法
第一步,申请密钥(ak),作为访问服务的依据;
第二步,按照请求参数说明拼写发送http请求的url,注意需使用第一步申请的ak;
第三步,接收返回的数据(json或者xml格式)。
注:本接口支持回调。
服务地址
http://api.map.baidu.com/geoconv/v1/?
组成说明:
- 域名:http://api.map.baidu.com
- 服务名:geoconv
- 服务版本号:v1
服务参数说明
| 参数 | 含义 | 取值范围 | 是否必须 | 默认取值 |
|---|---|---|---|---|
| coords | 源坐标 |
格式:经度,纬度;经度,纬度… 限制:最多支持100个 格式举例: 114.21892734521,29.575429778924; 114.21892734521,29.575429778924 |
是 | 无 |
| ak | 开发者密钥 | 是 | 无 | |
| sn | 用户的权限签名 | 否 | 若用户所用ak的校验方式为sn校验时该参数必须。 (sn生成算法) | |
| from | 源坐标类型 |
取值为如下: 1:GPS设备获取的角度坐标; 2:GPS获取的米制坐标、sogou地图所用坐标; 3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标 4:3中列表地图坐标对应的米制坐标 5:百度地图采用的经纬度坐标 6:百度地图采用的米制坐标 7:mapbar地图坐标; 8:51地图坐标 |
否 | 默认为1,即GPS设备获取的坐标 |
| to | 目的坐标类型 |
有两种可供选择:5、6。 5:bd09ll(百度经纬度坐标), 6:bd09mc(百度米制经纬度坐标); |
否 | 默认为5,即bd09ll(百度坐标) |
| output | 返回结果格式 |
json或者xml |
否 | json |
返回值说明
| 名称 | 类型 | 含义 | 取值范围 | |
|---|---|---|---|---|
| status | init | 状态码 | 正常0,异常非0,详细见状态码说明 | |
| result | json或者xml数组 | 转换结果 | 与输入顺序一致 | |
| x | float | 横坐标 | ||
| y | float | 纵坐标 | ||
delphi 的调用过程
procedure GpsToBaiDu(Gx,Gy:real;var Bx,By:real);
const
urs1='http://api.map.baidu.com/geoconv/v1/?coords=';
urs2='&&ak=你的秘钥';//两个&&
var
url:string;
ts:Tstringstream;
jo: ISuperObject;
xy: TSuperArray;
begin
url:=urs1+floattostr(Gx)+','+floattostr(Gy)+urs2;
ts:=Tstringstream.Create;
try
IdHTTP1.Get(url,ts);
ts.Position:=0;
jo:=so(ts.DataString);
xy:=jo['result'].AsArray;
jo:=so(xy[0].AsString);
Bx:=jo['x'].AsDouble;
By:=jo['y'].AsDouble;
except //转换失败
Bx:=gx;
By:=gy;
exit;
end;
end;
delphi 调用百度地图WEBSERVICE转换GPS坐标的更多相关文章
- delphi 调用百度地图WEBSERVICE转换GPS坐标 转
http://www.cnblogs.com/happyhills/p/3789864.html 百度地图的API说明 使用方法 第一步,申请密钥(ak),作为访问服务的依据: 第二步,按照请求参 ...
- delphi 调用百度地图api
一.调用javascript的方法 两种: 第一种:采用自编函数的方法 function ExecuteJavaScript(WebBrowser:TWebBrowser; Code: string) ...
- 教程-Delphi调用百度地图API(XE8+WIN7)
unit U_map; interface //---------------------------------------------------// //----------COPY BY 无言 ...
- Delphi XE6 通过JavaScript API调用百度地图
参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的. 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu ...
- 调用百度地图API的总结
因为项目要用到百度地图,所以先摸索了一下,各种功能官方都有文档,点击可查看,文章的话我就直接写我用到的功能例子了,要用可以直接复制粘贴~ 一.主要涉及到的几个接口(先申请密钥): 1.技术一:坐标转换 ...
- Android中调用百度地图
一.调用百度地图 --第一种方法 1.下载百度地图SDK SDK可以拆分下载,需要使用那一部分功能就下载相应包含的SDK,如下图 核心的的jar 和so包,放在工程中的libs目录下 2.申请key ...
- C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息
原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...
- 在XAF(ASP.NET)中以ListEditor的形式调用百度地图API
因为项目需要,在系统中使用地图显示设备的地理位置.考虑过ArgGIS,Bing和Baidu地图.本来想用ArgGIS,看教程嫌麻烦.所以还是用Web地图吧.Bing的话还要申请个key,没心情.百度地 ...
- 调用百度地图Api实现的查看地图功能的小插件
1. 功能 bMap.js 可根据地理位置调用出百度地图,采用弹出框形式 2.用法 var city = '青岛市'; var address = '香港中路'; bMap.init({ city : ...
随机推荐
- loopqueue
import java.util.Arrays; public class loopQueue <E>{ public Object[] data=null; private int ma ...
- webpack 开发环境
当项目逐渐变大,webpack 的编译时间会变长,可以通过参数让编译的输出内容带有进度和颜色. $ webpack --progress --colors 如果不想每次修改模块后都重新编译,那么可以启 ...
- Unity3D的SystemInfo类,用于获取运行设备硬件信息(CPU、显卡、类型等)
SystemInfo类中的静态变量: 中文显示: Rendering.CopyTextureSupport copyTextureSupport:(只读)支持多种复制纹理功能的情况. string ...
- 宝塔中的 base_opendir chattr
宝塔中的 base_opendir chattr base_opendir 目的是限制一些函数将手乱伸. 而宝塔中的自动配置的是 .user.ini,这个是文件是 +i ............ 这个 ...
- PHP判断键值数组是否存在,使用empty或isset或array_key_exists(转)
一个例子 猜猜看,下面的例子会输出什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $a = array('a'=>1, 'b'=>0, 'c'= ...
- Python 修改ha配置文件
任务要求: 1.用户输入字符串 {"backend": "test.oldboy.org","record":{"server&q ...
- Windows_Server_2008远程桌面多用户登陆的配置方法
开启远程桌面后,Windows Vista(或Windows 2008)下默认只支持一个administrator用户登陆,一个登录后另一个就被踢掉了,下面提供允许同一个用户名同时多个用户登录的配置方 ...
- Python Django框架 补充
Django REST framework ORM框架整理 Django框架 app间互借models字段的操作 ORM数据库操作补充:models中的一对一操作.过滤.事务 Django model ...
- leetcode589
树的先序遍历,使用递归实现. class Solution { public: vector<Node> Tree; void preTree(Node node) { Tree.push ...
- js将数组中一个或多个字段相同的子元素中合并
最近js中遇到js将数组中一个或多个字段相同的子元素中合并,相信很多朋友也有遇到,大家可能有多种方法,我在这里记录一个相对简单的方法,当然大家如有其它更好的方法,请提出来大家共同学习. //将经济事项 ...