第一步,申請密鑰(ak),作為訪問服務的依據;
第二步,按照請求參數說明拼寫發送http請求的url,注意需使用第一步申請的ak;
第三步,接收返回的數據(json或者xml格式)。
注:本接口支持回調。
http://api.map.baidu.com/geoconv/v1/?
組成說明:
格式:經度,緯度;經度,緯度…
限制:最多支持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
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;