假如自己在APP中已经获取到该用户所在位置,比如已经获取到当前位置的经纬度.现在需要用到根据经纬度来得到当前位置的省市县街道等信息时,可以利用百度地图提供的逆地理编码服务实现.
昨天搞了一晚上,我发现百度地图的api有个问题.他的
json示例:
首先,解释一下上面的url,
ak=百度密匙
callback=renderReverse 好像是固定格式
location=39.983424,116.322987 这是纬度和经度
output=返回json或者xml
这里的示例里面并没有提到关于MCODE参数.然后我们就这样直接使用的话,会发现服务器返回如下错误
{"status":102,"message":"MCODE参数不存在,mobile类型mcode参数必需"}
后来我发现,其实在ak的后面需要加一个mcode参数,这个参数里面的内容是"SHA1;包名"
eg:http://api.map.baidu.com/geocoder/v2/?
ak=xxxx&
mcode=A:AB:03:E3:62:0B:BF:05:F6:6E;com.xxxx.app.util&
callback=renderReverse&location=39.984578
,116.451345&output=json&pois=1
好了,上面是正确的url了,现在可以根据经纬度获取当前位置的具体信息了.注意,百度密匙需要去百度地图开发平台申请.