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

    xiaoxiao2022-06-23  39

    假如自己在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了,现在可以根据经纬度获取当前位置的具体信息了.注意,百度密匙需要去百度地图开发平台申请.

    转载请注明原文地址: https://ju.6miu.com/read-1123192.html

    最新回复(0)