微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Python 中的 Google Geocoding API 获取特定字段

如何解决从 Python 中的 Google Geocoding API 获取特定字段

我正在使用 google geocoding api 来填写我有部分信息的一些位置的信息。

例如,我有这个部分信息,我正在尝试获取国家/地区和州:

geocode_result = gmaps.geocode('lindero cerro verde caracas 1080')

输出如下:

[{'address_components': [{'long_name': 'Calle El Lindero','short_name': 'Calle El Lindero','types': ['route']},{'long_name': 'Caracas','short_name': 'CCS','types': ['locality','political']},{'long_name': 'El Hatillo','short_name': 'El Hatillo','types': ['administrative_area_level_2',{'long_name': 'Miranda','short_name': 'Miranda','types': ['administrative_area_level_1',{'long_name': 'Venezuela','short_name': 'VE','types': ['country',{'long_name': '1083','short_name': '1083','types': ['postal_code']}],'formatted_address': 'Calle El Lindero,Caracas 1083,Miranda,Venezuela','geometry': {'bounds': {'northeast': {'lat': 10.4543027,'lng': -66.83872099999999},'southwest': {'lat': 10.4505117,'lng': -66.8454213}},'location': {'lat': 10.4519725,'lng': -66.84174039999999},'location_type': 'GEOMETRIC_CENTER','viewport': {'northeast': {'lat': 10.4543027,'lng': -66.8454213}}},'place_id': 'ChIJ2XE6pHdYKowRKnEB09XALo4',{'address_components': [{'long_name': 'Calle El Lindero','geometry': {'bounds': {'northeast': {'lat': 10.4513741,'lng': -66.83886060000002},'southwest': {'lat': 10.4510553,'lng': -66.8390758}},'location': {'lat': 10.4511532,'lng': -66.83892469999999},'viewport': {'northeast': {'lat': 10.4525636802915,'lng': -66.83761921970851},'southwest': {'lat': 10.4498657197085,'lng': -66.84031718029152}}},'place_id': 'ChIJZRnObHZYKowR--st9lrM0pw','types': ['route']}]

我将如何获得国家(委内瑞拉)和州(米兰达)?

解决方法

我认为这就是你想要的:-

geocode_result = gmaps.geocode('lindero cerro verde caracas 1080')

for d in geocode_result[0]['address_components']:
    t = d.get('types')
    if t is not None and t[0] == 'country':
        print(d['long_name'])
        break

从您的示例来看, geocode_result 是一个只有一个元素的列表。如果它比这更复杂,您需要相应地调整此代码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?