正反地理编码-百度/高德

  • 百度地图
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返回的内容要详细一些,百度的太简单;

两者都是只能返回一个结果,结果不太准

你可能感兴趣的:(正反地理编码-百度/高德)