我正在尝试使用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'}