python调用google map api
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python调用google map api相关的知识,希望对你有一定的参考价值。
import urllib
import urllib.request
import json
serviceurl = ‘http://maps.googleapis.com/maps/api/geocode/json?‘
#serviceurl = ‘http://python-data.dr-chuck.net/geojson?‘
while True:
address = input(‘Enter location:‘)
if len(address) < 1:break
url = serviceurl + urllib.parse.urlencode({‘sensor‘:‘false‘,‘address‘:address})
print(‘Retrieving:‘,url)
uh = urllib.request.urlopen(url)
data = uh.read()
print(‘Retrieved:‘,len(data),‘characters‘)
print(str(data))
#接受过来的数据都是字节型数据需要进行decode()操作
try: js = json.loads(data.decode())
except: js = None
#try:js = json.loads(str(data))
#except: js = None
print(js)
if ‘status‘ not in js or js[‘status‘] != ‘OK‘:
print(‘===Failed To Retrieve===‘)
print(data)
continue
print(json.dumps(js,indent=4))
lat = js[‘results‘][0][‘geometry‘][‘location‘][‘lat‘]
lng = js[‘results‘][0][‘geometry‘][‘location‘][‘lng‘]
print(‘lat:‘,lat,‘lng:‘,lng)
location = js[‘results‘][0][‘formatted_address‘]
print(location)
以上是关于python调用google map api的主要内容,如果未能解决你的问题,请参考以下文章
Google Maps 的“map_changed”监听器内部调用的函数被多次调用
在 Google Maps API v3.0 中多次调用 map.fitBounds()
对 maps.google.com 进行大量(可能约为 100000)的 api 调用会导致 getaddrinfo ENOTFOUND 错误
Android Google Maps API OnLocationChanged 仅调用一次