- 百度地圖
import json
from urllib.request import urlopen,quote
#構造獲取經緯度的函數
def getlnglat(address):
url = 'http://api.map.baidu.com/geocoder/v2/?address='
output = 'json'
ak = 'EiQTTRKzlV3dKN1zcZ3c7iVhIl126xvC'
#ak = '你的ak'#需填入自己申請應用后生成的ak
add = quote(address)#本文城市變量為中文,為防止亂碼,先用quote進行編碼
url2 = url+add+'&output='+output+"&ak="+ak
req = urlopen(url2)
res = req.read().decode()
temp = json.loads(res)
return temp
## 使用
lng = getlnglat('北京站')
- 高德
import requests
def geocode(address):
parameters = {'address': address, 'key': '8d4e1bbc4c86495ee3a5d5a3e4cd718c'}
base = 'http://restapi.amap.com/v3/geocode/geo'
response = requests.get(base, parameters)
answer = response.json()
print(address + "的經緯度:", answer['geocodes'][0]['location'])
### 使用:
geocode('尖山站')
- 存在的問題:
高德的api返回的內容要詳細一些,百度的太簡單;
兩者都是只能返回一個結果,結果不太準