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 仅调用一次

AutoComplete Google Maps API - 直接 JSON 调用

CORS 和 Google Maps Places Autocomplete API 调用 [重复]