解决百度地图逆地理编码服务"MCODE参数不存在"问题

假如自己在APP中已经获取到该用户所在位置,比如已经获取到当前位置的经纬度.现在需要用到根据经纬度来得到当前位置的省市县街道等信息时,可以利用百度地图提供的逆地理编码服务实现.


昨天搞了一晚上,我发现百度地图的api有个问题.他的

json示例:

http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1

首先,解释一下上面的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了,现在可以根据经纬度获取当前位置的具体信息了.注意,百度密匙需要去百度地图开发平台申请.

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值