![](https://fineproxy.org/wp-content/uploads/2024/05/129pAhlOiVtYjWHKsFSr74qa3xwyoesbE3w1Mfgp-2x.jpg)
Google Maps Places API to potężne narzędzie, które umożliwia programistom dostęp do szczegółowych informacji o miejscach na całym świecie. W tym samouczku przeprowadzimy Cię przez proces korzystania z nowego interfejsu API Miejsc w Mapach Google w języku Python, od skonfigurowania projektu Google Cloud po wysyłanie żądań do interfejsu API i obsługę odpowiedzi.
Co to jest interfejs API Miejsc w Mapach Google?
Mapy Google mają dwie wersje interfejsu API Miejsc:
- Starsze API – Umożliwia połączenie za pomocą prostego klucza API.
- API nowej generacji – Wymaga uwierzytelniania OAuth 2.0 i zapewnia bardziej zaawansowane funkcje.
Konfigurowanie projektu Google Cloud
- Przejdź do konsoli Google Cloud: Iść do Konsola chmurowa Google.
- Utwórz projekt: Jeśli nie masz projektu, utwórz go, klikając menu rozwijane i wybierając „Nowy projekt”.
- Włącz interfejsy API i usługi: wybierz opcję Interfejsy API i usługi > Panel kontrolny i włącz interfejs API Places.
- Skonfiguruj OAuth 2.0: przejdź do Interfejsy API i usługi > Ekran zgody OAuth, skonfiguruj ekran zgody i utwórz dane uwierzytelniające OAuth 2.0.
Uwierzytelnianie za pomocą protokołu OAuth 2.0
- Utwórz identyfikator klienta OAuth: Wybierz „Aplikacja komputerowa” jako typ aplikacji i pobierz tajny plik klienta.
- Zainstaluj wymagane biblioteki: Użyj pip, aby zainstalować bibliotekę klienta Google Python i pakiet dotenv języka Python.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
Tworzenie żądań API
Inicjowanie klienta API
Utwórz skrypt w Pythonie (np. maps_textsearch.py
) i zainicjuj klienta API przy użyciu pobranych poświadczeń.
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)
Przykład: wyszukiwanie tekstowe
Zdefiniuj parametry wyszukiwania: utwórz zapytanie, aby wyszukać określone miejsca.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Zajmij się odpowiedzią: Wyodrębnij i wyświetl istotne informacje.
for place in response['results']:
print(place['name'], place['formatted_address'])
Przykład: Szczegóły miejsca
Uzyskaj szczegóły miejsca: pobierz szczegółowe informacje o konkretnym miejscu, korzystając z jego identyfikatora miejsca.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Wyświetl szczegóły: Wyodrębnij i wydrukuj szczegółowe informacje, takie jak recenzje, godziny otwarcia itp.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Ceny i kwoty
Google oferuje $200 bezpłatnych środków miesięcznie na wszystkie produkty Mapy. Monitoruj swoje wykorzystanie, aby uniknąć nieoczekiwanych opłat.
Wnioski
Wykonując te kroki, możesz z powodzeniem zintegrować interfejs API Google Maps Places z aplikacjami w języku Python, udostępniając bogate dane dotyczące miejsc w celu zwiększenia komfortu użytkownika.
Tabela: Kluczowe punkty
Krok | Opis |
---|---|
Konfiguracja projektu | Utwórz projekt w Google Cloud Console, włącz Places API i skonfiguruj dane uwierzytelniające OAuth 2.0. |
Uwierzytelnianie | Użyj protokołu OAuth 2.0 do uwierzytelniania żądań API. |
Żądania API | Twórz żądania API, korzystając z biblioteki klienta Python. |
Obsługa odpowiedzi | Wyodrębnij i wyświetl odpowiednie informacje z odpowiedzi API. |
Wycena | Skorzystaj z bezpłatnego kredytu $200 udostępnianego przez Mapy Google. |
Przykładowy fragment kodu
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'])
Postępując zgodnie z tym przewodnikiem, możesz z łatwością rozpocząć korzystanie z interfejsu API Map Google Places i odblokować w swoich aplikacjach bogactwo danych opartych na lokalizacji. Ciesz się odkrywaniem świata Map Google!
Komentarze (0)
Nie ma tu jeszcze żadnych komentarzy, możesz być pierwszy!