Si alguna vez tiene curiosidad acerca de cómo puede obtener la ubicación de los lugares más cercanos (restaurantes, hospitales, laboratorios, cafeterías, etc.) utilizando su ubicación actual, esto podría lograrse utilizando Python y la API de Google Maps. En este artículo, usaremos la API de Google Maps para encontrar las ubicaciones de los hospitales más cercanos usando Python.
La clave API se puede generar utilizando la consola de desarrolladores de Google. Luego, debe seguir los pasos allí para crear una clave API.
Implementación:
- Instale las bibliotecas de python requeridas antes de ejecutar el código: googleplaces, requests
- Cree una clave API de Google Maps en este enlace .
- Inicialice el constructor de Google Places como: google_places = GooglePlaces(API_KEY)
- Llame a esta función google_places.nearby_search con parámetros como latitud, longitud, radio y tipo: {hospital, casino, bar, cafetería, etc.} y almacene el resultado en una variable. El usuario puede dar su propia latitud y longitud en los parámetros.
- Los resultados de la búsqueda serán del tipo de clase: ‘googleplaces.Place’.
- El valor del atributo se puede imprimir como longitud, latitud, nombre
A continuación se muestra el código de implementación:
Python3
# Importing required libraries from googleplaces import GooglePlaces, types, lang import requests import json # This is the way to make api requests # using python requests library # send_url = 'http://freegeoip.net/json' # r = requests.get(send_url) # j = json.loads(r.text) # print(j) # lat = j['latitude'] # lon = j['longitude'] # Generate an API key by going to this location # https://cloud.google.com /maps-platform/places/?apis = # places in the google developers # Use your own API key for making api request calls API_KEY = 'Your_API_Key' # Initialising the GooglePlaces constructor google_places = GooglePlaces(API_KEY) # call the function nearby search with # the parameters as longitude, latitude, # radius and type of place which needs to be searched of # type can be HOSPITAL, CAFE, BAR, CASINO, etc query_result = google_places.nearby_search( # lat_lng ={'lat': 46.1667, 'lng': -1.15}, lat_lng ={'lat': 28.4089, 'lng': 77.3178}, radius = 5000, # types =[types.TYPE_HOSPITAL] or # [types.TYPE_CAFE] or [type.TYPE_BAR] # or [type.TYPE_CASINO]) types =[types.TYPE_HOSPITAL]) # If any attributions related # with search results print them if query_result.has_attributions: print (query_result.html_attributions) # Iterate over the search results for place in query_result.places: print(place) # place.get_details() print (place.name) print("Latitude", place.geo_location['lat']) print("Longitude", place.geo_location['lng']) print()
Producción:
Sarvodaya Hospital Latitude 28.4222361 Longitude 77.3167904 Metro Heart Institute with Multispeciality Latitude 28.4060327 Longitude 77.31803429999999 Asian Institute of Medical Sciences Latitude 28.4260095 Longitude 77.29998359999999 Rawat Medical Store Latitude 28.3928114 Longitude 77.30199 Sparsh Hospital Latitude 28.4449953 Longitude 77.31859759999999 ..more results