百度地图的API说明
使用方法
第一步,申请密钥(ak),作为访问服务的依据;
第二步,按照请求参数说明拼写发送http请求的url,注意需使用第一步申请的ak;
第三步,接收返回的数据(json或者xml格式)。
注:本接口支持回调。
服务地址
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;
百度地图的API说明
使用方法
第一步,申请密钥(ak),作为访问服务的依据;
第二步,按照请求参数说明拼写发送http请求的url,注意需使用第一步申请的ak;
第三步,接收返回的数据(json或者xml格式)。
注:本接口支持回调。
服务地址
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;
|
请发表评论