程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> delphi 調用百度地圖WEBSERVICE轉換GPS坐標

delphi 調用百度地圖WEBSERVICE轉換GPS坐標

編輯:Delphi

百度地圖的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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved