Googlemaps提升API在传递参数时出错



我正在尝试使用panda读取文件和jupyter笔记本从excel文件中获取高程。我目前正试图弄清楚为什么我的代码会产生错误。

以下是我的代码:

import os
import googlemaps
gmaps = googlemaps.Client(key= "XXXXXXXXXXXXXXXXXXXXXX")
elevation = gmaps.elevation("40.88292", "-98.37342")
print(elevation)

它返回错误:

File "C:/Users/gabe/Desktop/a.py", line 6, in <module>
elevation = gmaps.elevation("40.88292", "-98.37342")
File "C:UsersgabeAppDataLocalProgramsPythonPython38libsite-packagesgooglemapsclient.py", line 409, in wrapper
result = func(*args, **kwargs)
TypeError: elevation() takes 2 positional arguments but 3 were given

我尝试过使用大量不同的坐标变化作为参数,但它总是返回这个错误。

文档说要传入一个位置列表,该列表可以是latlon坐标的列表/元组。

很可能:

gmaps.elevation([("40.88292", "-98.37342")]) 

应该工作(根据@AMC评论(

您也可以按照API文档自己构建json请求

from urllib.request import urlopen
import json
latlon = ["40.88292", "-98.37342"]
api_key = 'YOUR_API_KEY'
url = f'https://maps.googleapis.com/maps/api/elevation/json?locations={",".join(latlon)}&key={api_key}'
response = urlopen(url)
result = json.load(response)

结果

{'results': [{'elevation': 568.84423828125,
'location': {'lat': 40.88292, 'lng': -98.37342},
'resolution': 4.771975994110107}],
'status': 'OK'}

相关内容

  • 没有找到相关文章

最新更新