Google Maps Places API je výkonný nástroj, který vývojářům umožňuje přístup k podrobným informacím o místech po celém světě. V tomto tutoriálu vás provedeme procesem používání nového rozhraní API pro Mapy míst Google v Pythonu, od nastavení vašeho projektu Google Cloud po zadávání požadavků API a zpracování odpovědí.
Co je Google Maps Places API?
Mapy Google mají dvě verze rozhraní API míst:
- Starší API – Umožňuje připojení pomocí jednoduchého klíče API.
- API nové generace – Vyžaduje OAuth 2.0 pro ověřování a poskytuje pokročilejší funkce.
Nastavení vašeho projektu Google Cloud
- Přejděte do služby Google Cloud Console: Jít do Google Cloud Console.
- Vytvořte projekt: Pokud nemáte projekt, vytvořte jej kliknutím na rozbalovací nabídku a výběrem „Nový projekt“.
- Povolit rozhraní API a služby: Přejděte do rozhraní API a služby > Řídicí panel a povolte rozhraní API míst.
- Nastavte OAuth 2.0: Přejděte do rozhraní API a služby > Obrazovka souhlasu OAuth, nastavte obrazovku souhlasu a vytvořte přihlašovací údaje OAuth 2.0.
Ověřování pomocí OAuth 2.0
- Vytvořte ID klienta OAuth: Jako typ aplikace vyberte „Desktop App“ a stáhněte tajný soubor klienta.
- Nainstalujte požadované knihovny: Použijte pip k instalaci klientské knihovny Google Python a balíčku Python dotenv.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
Vytváření požadavků API
Inicializace klienta API
Vytvořte skript Python (např. maps_textsearch.py
) a inicializujte klienta API pomocí stažených přihlašovacích údajů.
from google.oauth2 import service_account
from googleapiclient.discovery import build
import json
def create_service(client_secret_file, api_name, api_version, scopes):
credentials = service_account.Credentials.from_service_account_file(client_secret_file, scopes=scopes)
return build(api_name, api_version, credentials=credentials)
CLIENT_SECRET_FILE = 'path/to/client_secret.json'
API_SERVICE_NAME = 'places'
API_VERSION = 'v1'
SCOPES = ['https://www.googleapis.com/auth/maps']
service = create_service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
Příklad: Textové vyhledávání
Definujte parametry vyhledávání: Vytvořte dotaz pro hledání konkrétních míst.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Zpracujte odpověď: Extrahujte a zobrazte relevantní informace.
for place in response['results']:
print(place['name'], place['formatted_address'])
Příklad: Podrobnosti o místě
Získejte podrobnosti o místě: Získejte podrobné informace o konkrétním místě pomocí jeho ID místa.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Zobrazit podrobnosti: Extrahujte a vytiskněte podrobnosti, jako jsou recenze, otevírací doba atd.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Ceny a kvóty
Google nabízí $200 bezplatného kreditu měsíčně pro všechny produkty Map. Sledujte své využití, abyste se vyhnuli neočekávaným poplatkům.
Závěr
Pomocí těchto kroků můžete úspěšně integrovat Google Maps Places API do svých aplikací Python a poskytovat tak bohatá data související s místy pro lepší uživatelský dojem.
Tabulka: Klíčové body
Krok | Popis |
---|---|
Nastavení projektu | Vytvořte projekt v Google Cloud Console, povolte Places API a nastavte přihlašovací údaje OAuth 2.0. |
Autentizace | Použijte OAuth 2.0 k ověření požadavků API. |
Požadavky API | Provádějte požadavky API pomocí klientské knihovny Pythonu. |
Zpracování odezvy | Extrahujte a zobrazte relevantní informace z odpovědí API. |
Ceny | Využijte bezplatný kredit $200 poskytovaný službou Mapy Google. |
Příklad úryvku kódu
from google.oauth2 import service_account
from googleapiclient.discovery import build
def create_service(client_secret_file, api_name, api_version, scopes):
credentials = service_account.Credentials.from_service_account_file(client_secret_file, scopes=scopes)
return build(api_name, api_version, credentials=credentials)
CLIENT_SECRET_FILE = 'path/to/client_secret.json'
API_SERVICE_NAME = 'places'
API_VERSION = 'v1'
SCOPES = ['https://www.googleapis.com/auth/maps']
service = create_service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
for place in response['results']:
print(place['name'], place['formatted_address'])
Podle tohoto průvodce můžete snadno začít s rozhraním Google Maps Places API a odemknout pro své aplikace množství dat založených na poloze. Užijte si objevování světa Map Google!
Komentáře (0)
Zatím zde nejsou žádné komentáře, můžete být první!