这些似乎不是partial_matches
,所以我想知道为什么它没有返回所有数据,特别是postal_code
。
经过在谷歌地图上的双重检查,这就是我想要的确切地址。换句话说,它是一个直接命中。
Python代码:
address = '34 new street, Green road, Carlow'
geocode_url = "https://maps.googleapis.com/maps/api/geocode/json?address={}&key={}".format(address,api_key)
# Ping google for the reuslts:
results = requests.get(geocode_url)
# Results will be in JSON format - convert to dict using requests functionality
results = results.json()
还有结果。这里应该有一个邮政编码
数据,对吧?没有任何说明它只是部分匹配。
{'results': [{'address_components': [{'long_name': '34',
'short_name': '34',
'types': ['street_number']},
{'long_name': 'New Street', 'short_name': 'New St', 'types': ['route']},
{'long_name': 'Moanacurragh',
'short_name': 'Moanacurragh',
'types': ['neighborhood', 'political']},
{'long_name': 'Carlow',
'short_name': 'Carlow',
'types': ['locality', 'political']},
{'long_name': 'County Carlow',
'short_name': 'County Carlow',
'types': ['administrative_area_level_1', 'political']},
{'long_name': 'Ireland',
'short_name': 'IE',
'types': ['country', 'political']}],
'formatted_address': '34 New St, Moanacurragh, Carlow, Ireland',
'geometry': {'location': {'lat': 52.8296466, 'lng': -6.9331115},
'location_type': 'RANGE_INTERPOLATED',
'viewport': {'northeast': {'lat': 52.83099558029149,
'lng': -6.931762519708498},
'southwest': {'lat': 52.82829761970849, 'lng': -6.934460480291502}}},
'place_id': 'EhozNCBOZXcgU3QsIENhcmxvdywgSXJlbGFuZCIaEhgKFAoSCZ93HqizQl1IEZZMDB0YIkdXECI',
'types': ['street_address']}],
'status': 'OK'}
现在,如果我将完全相同的字符串输入官方邮政编码数据库(爱尔兰),它将返回邮政编码。
顺便提一下,官方数据库在这里(链接),您可以尝试地址字符串
'34 new street, Green road, Carlow'
。
place_id
而不是address
进行查询,会发生什么? - That1Guy