如何将两个经纬度浮点数转换为 Google Maps latlng?
Posted
技术标签:
【中文标题】如何将两个经纬度浮点数转换为 Google Maps latlng?【英文标题】:How do I convert two floats of latitude and longitude into Google Maps latlng? 【发布时间】:2019-11-20 12:39:19 【问题描述】:我有数据框中地方的纬度和经度。我希望使用 Google Maps API 获取邮政编码。现在我正在尝试编写一个循环来执行此操作,但它不起作用。问题是 gmaps 变量 latlng
如何将两个浮点数作为我的变量转换为一个变量 latlng
?
我已经成功地做到了,我在坐标中“硬编码”了。
for index, row in bike_df.iterrows():
lat = row["Starting Station Latitude"]
long = row["Starting Station Longitude"]
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng=34.052898,-118.241562&key=0').format(gkey)
response = requests.get(target_url).json()
try:
print(response['results'][0]['address_components'][7]['long_name'])
except:
print(f"Could not index find zip")
for index, row in bike_df.iterrows():
lat = row["Starting Station Latitude"]
long = row["Starting Station Longitude"]
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng=lat,long&key=0').format(gkey)
response = requests.get(target_url).json()
try:
print(response['results'][0]['address_components'][7] .
['long_name'])
except:
print(f"Could not index find zip")
它只是运行,没有任何输出。
【问题讨论】:
【参考方案1】:您的 lat
和 long
变量未插入到 target_url
字符串中。您需要执行以下操作:
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng=lat,long&key=gkey').format(lat=lat,long=long,gkey=gkey)
【讨论】:
这行得通。谢谢!我认为它必须是一个变量。【参考方案2】:您应该像使用 gkey 一样使用连接变量。您可以通过多种方式做到这一点。
例如:
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng='+str(lat)+','+str(long)+'&key=0').format(gkey)
或类似
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?latlng=0,1&key=2').format(lat, long, gkey)
【讨论】:
【参考方案3】:也许试试这个?
import pandas as pd
df = pd.DataFrame('lat':[34.052898,34.052898,34.052898],
'long':[-118.241562,-118.241562,-118.241562])
df
for index, row in df.iterrows():
latlng = lat + long
print(latlng)
[34.052898,-118.241562] [34.052898,-118.241562] [34.052898, -118.241562]
lat = row["Starting Station Latitude"]
long = row["Starting Station Longitude"]
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng=lat,long&key=0').format(gkey)
response = requests.get(target_url).json()
try:
print(response['results'][0]['address_components'][7] .
['long_name'])
except:
print(f"Could not index find zip")
【讨论】:
以上是关于如何将两个经纬度浮点数转换为 Google Maps latlng?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用脚本在 Google 表格中将时间转换为十进制浮点数?