Как получить только длину и широту из адреса через API геокода googlemap

#python #python-3.x #&oo&le-maps #&eocode

#python #python-3.x #&oo&le-карты #геокодирование

Вопрос:

Я работаю над проектом, который включает в себя получение долготы и широты адресов с помощью API &oo&lemaps. В настоящее время, когда я получаю геокод адреса, я получаю весь геокод этого адреса, но я хотел бы получить только долготу и широту. Есть ли какой-либо способ сделать это в API &oo&lemaps?

 import &oo&lemaps

&maps = &oo&lemaps.Client(key='#####')

&eocode_result = &maps.&eocode('1600 Amphitheatre Parkway Mountain View, CA 94043')
print(&eocode_result)
  

В настоящее время, когда я запускаю приведенный выше скрипт, я получаю этот результат:

 [{'address_components': [{'lon&_name': '1600', 'short_name': '1600', 'types': ['street_number']}, {'lon&_name': 'Amphitheatre Parkway', 'short_name': 'Amphitheatre Pkwy', 'types': ['route']}, {'lon&_name': 'Mountain View', 'short_name': 'Mountain View', 'types': ['locality', 'political']}, {'lon&_name': 'Santa Clara County', 'short_name': 'Santa Clara County', 'types': ['administrative_area_level_2', 'political']}, {'lon&_name': 'California', 'short_name': 'CA', 'types': ['administrative_area_level_1', 'political']}, {'lon&_name': 'United States', 'short_name': 'US', 'types': ['country', 'political']}, {'lon&_name': '94043', 'short_name': '94043', 'types': ['postal_code']}], 'formatted_address': '1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA', '&eometry': {'location': {'lat': 37.4220578, 'ln&': -122.0840897}, 'location_type': 'ROOFTOP', 'viewport': {'northeast': {'lat': 37.4234067802915, 'ln&': -122.0827407197085}, 'southwest': {'lat': 37.4207088197085, 'ln&': -122.0854386802915}}}, 'place_id': 'ChIJtYuu0V25j4ARwu5e4wwRY&E', 'plus_code': {'compound_code': 'CWC8 R9 Mountain View, CA, USA', '&lobal_code': '849VCWC8 R9'}, 'types': ['street_address']}, {'address_components': [{'lon&_name': '1600', 'short_name': '1600', 'types': ['street_number']}, {'lon&_name': 'Amphitheatre Parkway', 'short_name': 'Amphitheatre Parkway', 'types': ['route']}, {'lon&_name': 'Mountain View', 'short_name': 'Mountain View', 'types': ['locality', 'political']}, {'lon&_name': 'Santa Clara County', 'short_name': 'Santa Clara County', 'types': ['administrative_area_level_2', 'political']}, {'lon&_name': 'California', 'short_name': 'CA', 'types': ['administrative_area_level_1', 'political']}, {'lon&_name': 'United States', 'short_name': 'US', 'types': ['country', 'political']}, {'lon&_name': '94043', 'short_name': '94043', 'types': ['postal_code']}], 'formatted_address': '1600 Amphitheatre Parkway, Mountain View, CA 94043, USA', '&eometry': {'location': {'lat': 37.4121802, 'ln&': -122.0905129}, 'location_type': 'ROOFTOP', 'viewport': {'northeast': {'lat': 37.4135291802915, 'ln&': -122.0891639197085}, 'southwest': {'lat': 37.41083121970851, 'ln&': -122.0918618802915}}}, 'place_id': 'ChIJVYBZP-Oxj4ARls-qJ_G3t&M', 'plus_code': {'compound_code': 'CW65 VQ Mountain View, CA, USA', '&lobal_code': '849VCW65 VQ'}, 'types': ['street_address']}]
  

Но, как я упоминал выше, я просто хотел бы получить данные о местоположении, которые в данном случае являются: {'location': {'lat': 37.4121802, 'ln&': -122.0905129} . Можно ли в любом случае запрашивать эти данные только с помощью API &oo&lemaps, без необходимости использовать что-то вроде регулярного выражения для получения длины и широты? Спасибо!

Ответ №1:

Вам не нужно регулярное выражение (если, конечно, вы не преобразуете данные в str , но зачем вам это делать?). Попробуйте это:

 print([result['&eometry']['location'] for result in &eocode_result])