gpt4 book ai didi

python - 使用谷歌python的街道城市反向地理编码

转载 作者:太空宇宙 更新时间:2023-11-04 05:32:14 25 4
gpt4 key购买 nike

我正在使用 google maps api 来反转 map 上的地理编码纬度和经度。我想按以下格式返回地址:[街道号码] [路线]、[城镇]、[州],括号已移除。

我不确定如何将地址组件链接到类型。现在这是我的解决方案,但它并不总是返回格式正确的地址。如何按类型搜索?其他解决方案使用了循环,但我不确定 if 语句会是什么样子?

address = '{} {}, {}, {}'.format(json['results'][0]['address_components'][0]['long_name']
, json['结果'][0]['address_components'][1]['long_name']
, json['结果'][0]['address_components'][3]['long_name']
, json['results'][0]['address_components'][5]['short_name'])

最佳答案

您可以在反向地理编码中使用字段 formatted_address

formatted_address是包含此位置的人类可读地址的字符串。通常此地址等同于“邮政地址”,有时因国家/地区而异。 (请注意,由于许可限制,某些国家(例如英国)不允许分发真实的邮政地址。)该地址通常由一个或多个地址组件组成。例如,地址“111 8th Avenue, New York, NY”包含“111”(街道号码)、“8th Avenue”(路线)、“New York”(城市)和“NY”(美国州)。

这是此查询返回的 formatted_address 值的完整列表示例。

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11249, USA",
"formatted_address" : "Bedford Av/Grand St, Brooklyn, NY 11211, USA",
"formatted_address" : "Brooklyn, NY 11211, USA",
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
"formatted_address" : "Brooklyn, NY, USA",
"formatted_address" : "New York, NY, USA",
"formatted_address" : "New York, USA",
"formatted_address" : "United States",

有关更多信息,请查看此 documentation .

也尝试检查这个 SO question .

关于python - 使用谷歌python的街道城市反向地理编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36773854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com