日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python基于百度地圖API根據地址獲取經緯度

系統 1982 0

根據一個中文的地址信息,獲取該地址所對應的經緯度信息。(專業的說法是地理編碼)。編程語言:Python3,百度地圖API接口:http://lbsyun.baidu.com/index.php?title=webapi

獲取地址的經緯度大致步驟如下:

  • 1.注冊百度賬號、登錄百度地圖,申請秘鑰:http://lbsyun.baidu.com/apiconsole/key?application=key
  • 2.查看百度地圖中關于地址解析的服務文檔:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
  • 3.Python 編寫request請求,使用GET訪問接口:http://api.map.baidu.com/geocoder/v2/?address=北京市海淀區上地十街10號&output=json&ak=您的ak&callback=showLocation //GET請求
  • 4.Python解析返回的json結果,得到經緯度信息

訪問API接口需要上傳的信息:
Python基于百度地圖API根據地址獲取經緯度_第1張圖片
代碼如下:

            
              # encoding:utf-8
import requests
import time

# 此處需要ak,ak申請地址:https://lbs.amap.com/dev/key/app
ak = "xxxxxxxxxxx"

headers = {
    'X-Requested-With': 'XMLHttpRequest',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/56.0.2924.87 Safari/537.36',
    'Referer': 'https://restapi.amap.com/'
}


# 地理信息解析
def amp_geocode(addr=None):
    url = "https://restapi.amap.com/v3/geocode/geo?parameters"
    params = {"key": ak,
              "address": addr}
    response = requests.get(url, params=params, headers=headers)
    if response.status_code == 200:
        try:
            loc_info = response.json()["geocodes"][0]["location"]
            lng = loc_info.split(",")[0]
            lat = loc_info.split(",")[1]
            print(loc_info)
            time.sleep(0.25)
            return (lng, lat)
        except Exception as e:
            print("Exception in amp_geocode",e)
            time.sleep(5)
            return None
    else:
        print("========>", response.status_code)
        time.sleep(5)
        return None

            
          

注意事項:

  1. 訪問API的方式要對,POST、GET方式各有不同,參數要正確
  2. 網絡訪問,難免會出現錯誤,需要進行異常處理,try…except,此外如果出現短時間出現頻繁的訪問接口,可能百度的服務器會中斷響應,因此如果出現異常時,先讓程序休眠等待一下,即time.sleep(5)
  3. 對百度地圖訪問量很大的話,可以申請開發者個人認證,百度對認證過的用戶,開放的接口訪問額度大很多。
    Python基于百度地圖API根據地址獲取經緯度_第2張圖片

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 连山| 丁青县| 奉贤区| 嘉祥县| 苏尼特右旗| 色达县| 英吉沙县| 铜川市| 玛纳斯县| 双桥区| 当雄县| 富平县| 沛县| 图木舒克市| 温泉县| 西平县| 津南区| 田林县| 靖江市| 泊头市| 百色市| 满洲里市| 勐海县| 武邑县| 慈利县| 舟曲县| 博兴县| 弥渡县| 青神县| 房产| 包头市| 建昌县| 娄底市| 兴仁县| 澄江县| 庄浪县| 龙陵县| 和林格尔县| 清流县| 连南| 潍坊市|