讲讲百度地图API遇到的坑,石锤百度官方代码的错,解决SN校验失败

这两天在做一个项目,用到了百度地图API,根据坐标获取具体位置,总结一下遇到的几个坑

本文基于最新的V3接口,网上好多要么是V2,要么根据地址获取坐标,本文是唯一一个最新的3,根据坐标获取位置的完整说明。保证可用。

坑一:官方demo错误,md5计算结果不正确

比如sn计算值MD5为

MD5: 2D-3E-DF-8D-21-07-4E-70-74-33-5A-23-F5-3D-59-76

看到第六个字节07了吗,官方输出为 2d3edf8d2174e7074335a23f53d5976

那个7应该是07,正确的应该是          2d3edf8d21074e7074335a23f53d5976

坑二:坐标中的,要进行转义处理,其他的不能转义处理

错误的请求方式

扫描二维码关注公众号,回复: 10052317 查看本文章

http://api.map.baidu.com/reverse_geocoding/v3?location=34.82105,113.655565&coordtype=wgs84ll&output=xml

正确的请求方式:

http://api.map.baidu.com/reverse_geocoding/v3?location=34.82105%2C113.655565&coordtype=wgs84ll&output=xml

这一块内容花费了我好长时间才解决。

同时也让我证实了,百度的校验机制是先校验SN,然后再校验参数是否正确。

如果把坐标中的,去掉,在sn正确的情况下会提示坐标参数不正确。

所以如果坐标没有逗号,还是报sn错误,那就真的是sn错误。

坑二可能有些人会说官方哪里哪里写的很清楚啊,等等,我只能说还是不够人性化,不能做到开箱即用,体验非常不好,差一点我就转用高德了。

发布了22 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zhupengfei/article/details/105015820