這兩天在做一個項目,用到了百度地圖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
坑二:坐標中的,要進行轉義處理,其他的不能轉義處理
錯誤的請求方式
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錯誤。
坑二可能有些人會說官方哪里哪里寫的很清楚啊,等等,我只能說還是不夠人性化,不能做到開箱即用,體驗非常不好,差一點我就轉用高德了。
