zoukankan      html  css  js  c++  java
  • delphi 调用百度地图WEBSERVICE转换GPS坐标 转

    http://www.cnblogs.com/happyhills/p/3789864.html

     

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

  • 相关阅读:
    文件操作2
    操作文件1
    标准库(一):collections之orderedDict
    类的模板导入
    类的继承
    类内成员和方法的使用
    redis高可用
    oracle数据库优化
    如何捕获oracle数据库异常
    oracle之语句触发器创建
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/6134661.html
Copyright © 2011-2022 走看看