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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容