介绍
介绍
通过一个详情地址获取百度地图的经纬度
使用
准备
注册百度账号
申请百度开发者
获取服务密钥(AK)
设置服务端
勾选启动服务里的“地址编码”和“逆地址编码”
请求校验方式选“IP白名单校验”
IP白名单里填写“服务器公网IP/16”
测试正向编码
请求下面地址将得到地址“”的坐标
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在地图上定位坐标,添加标注