【百度地图】通过地址获取经纬度

发表于 2019-09-10 18:38:09
阅读 140

介绍

介绍

通过一个详情地址获取百度地图的经纬度

使用

准备

  • 注册百度账号

  • 申请百度开发者

  • 获取服务密钥(AK)

设置服务端

勾选启动服务里的“地址编码”和“逆地址编码”

请求校验方式选“IP白名单校验”

IP白名单里填写“服务器公网IP/16”

1.jpg

测试正向编码

请求下面地址将得到地址“”的坐标

GET http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=[AK]&callback=showLocation

返回数据

showLocation&&showLocation({"status":0,"result":{"location":{"lng":116.3084202915042,"lat":40.05703033345938},"precise":1,"confidence":80,"comprehension":100,"level":"道路"}})

坐标系类型

ret_coordtype

使用参数 ret_coordtype 设置返回坐标系

支持类型

坐标的类型,目前支持的坐标类型包括:

gcj02ll(国测局坐标)

bd09mc(百度墨卡托坐标)

测试逆向编码

请求下面地址将得到坐标“31.225696563611,121.49884033194”对应的具体地址

GET http://api.map.baidu.com/reverse_geocoding/v3/?ak=[AK]&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194

返回数据

{"status":0,"result":{"location":{"lng":121.50989077799084,"lat":31.22932842411674},"formatted_address":"上海市黄浦区中山南路187","business":"外滩,陆家嘴,董家渡","addressComponent":{"country":"中国","country_code":0,"country_code_iso":"CHN","country_code_iso2":"CN","province":"上海市","city":"上海市","city_level":2,"district":"黄浦区","town":"","adcode":"310101","street":"中山南路","street_number":"187","direction":"东北","distance":"91"},"pois":[],"roads":[],"poiRegions":[],"sematic_description":"","cityCode":289}}

坐标系类型

coordtype

使用参数 coordtype 设置坐标系

支持类型

坐标的类型,目前支持的坐标类型包括:

bd09ll(百度经纬度坐标)

bd09mc(百度米制坐标)

gcj02ll(国测局经纬度坐标,仅限中国)

wgs84ll( GPS经纬度)

测试坐标转换

请求下面的地址进行坐标转换

GET http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=[AK]

坐标系对照表

from

来源对照表

  • 1:GPS设备获取的角度坐标,WGS84坐标;

  • 2:GPS获取的米制坐标、sogou地图所用坐标;

  • 3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局(GCJ02)坐标;

  • 4:3中列表地图坐标对应的米制坐标;

  • 5:百度地图采用的经纬度坐标;

  • 6:百度地图采用的米制坐标;

  • 7:mapbar地图坐标;

  • 8:51地图坐标

to

目标对照表

  • 5:bd09ll(百度经纬度坐标);

  • 6:bd09mc(百度米制经纬度坐标)

FAQ

地址标注

如果我们需要根据一个详细地址,定位地图上的一个坐标,并且添加标注

  • 我们通过正向编码,将地址转为bd09mc坐标

  • 我们通过坐标转换,将bd09mc坐标转为bd09ll坐标(from=6&to=5)

  • 通过坐标值利用JavaScript API在地图上定位坐标,添加标注