Google Haritalar Yerler API'si, geliştiricilerin dünyanın her yerindeki yerlerle ilgili ayrıntılı bilgilere erişmesine olanak tanıyan güçlü bir araçtır. Bu eğiticide, Google Cloud projenizi ayarlamaktan API istekleri oluşturmaya ve yanıtları işlemeye kadar Python'da yeni Google Haritalar Yerler API'sini kullanma sürecinde size rehberlik edeceğiz.
Google Haritalar Yerler API'si nedir?
Google Haritalar, Rehber API'sinin iki sürümüne sahiptir:
- Eski API – Basit bir API anahtarıyla bağlantıya izin verir.
- Yeni Nesil API – Kimlik doğrulama için OAuth 2.0 gerektirir ve daha gelişmiş özellikler sağlar.
Google Cloud Projenizi Kurma
- Google Cloud Console'a gidin: Git Google Bulut Konsolu.
- Proje Oluştur: Projeniz yoksa açılır menüye tıklayıp “Yeni Proje” seçeneğini seçerek bir proje oluşturun.
- API'leri ve Hizmetleri Etkinleştir: API'ler ve Hizmetler > Kontrol Paneli'ne gidin ve Rehber API'sini etkinleştirin.
- OAuth 2.0'ı Kurma: API'ler ve Hizmetler > OAuth Onay Ekranı'na gidin, izin ekranını ayarlayın ve OAuth 2.0 kimlik bilgilerini oluşturun.
OAuth 2.0 ile kimlik doğrulama
- OAuth İstemci Kimliği oluşturun: Uygulama türü olarak “Masaüstü Uygulaması”nı seçin ve istemci gizli dosyasını indirin.
- Gerekli Kitaplıkları Yükleyin: Google Python istemci kitaplığını ve Python dotenv paketini yüklemek için pip kullanın.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
API İstekleri Yapma
API İstemcisini Başlatma
Bir Python betiği oluşturun (örn. maps_textsearch.py
) ve indirilen kimlik bilgilerini kullanarak API istemcisini başlatın.
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)
Örnek: Metin Arama
Arama Parametrelerini Tanımlayın: Belirli yerleri aramak için bir sorgu oluşturun.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Yanıtı ele alın: İlgili bilgileri çıkarın ve görüntüleyin.
for place in response['results']:
print(place['name'], place['formatted_address'])
Örnek: Yer Ayrıntıları
Yer Ayrıntılarını Alın: Yer kimliğini kullanarak belirli bir yer hakkında ayrıntılı bilgi alın.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Ayrıntıları Görüntüle: İncelemeler, çalışma saatleri vb. ayrıntıları çıkarın ve yazdırın.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Fiyatlandırma ve Kotalar
Google, tüm Haritalar ürünleri için ayda $200 ücretsiz kredi sunmaktadır. Beklenmeyen masraflardan kaçınmak için kullanımınızı izleyin.
Sonuç
Bu adımları izleyerek Google Haritalar Yerler API'sini Python uygulamalarınıza başarıyla entegre edebilir, kullanıcı deneyimini geliştirmek için yerle ilgili zengin veriler sağlayabilirsiniz.
Tablo: Önemli Noktalar
Adım | Açıklama |
---|---|
Proje Kurulumu | Google Cloud Console'da bir proje oluşturun, Places API'yi etkinleştirin ve OAuth 2.0 kimlik bilgilerini ayarlayın. |
Kimlik Doğrulama | API isteklerini doğrulamak için OAuth 2.0'ı kullanın. |
API İstekleri | Python istemci kitaplığını kullanarak API istekleri yapın. |
Yanıt İşleme | API yanıtlarından ilgili bilgileri çıkarın ve görüntüleyin. |
Fiyatlandırma | Google Haritalar tarafından sağlanan $200 ücretsiz kredisinden yararlanın. |
Örnek Kod Parçacığı
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'])
Bu kılavuzu izleyerek, Google Haritalar Yerler API'sını kolayca kullanmaya başlayabilir ve uygulamalarınız için zengin konum tabanlı verilerin kilidini açabilirsiniz. Google Haritalar dünyasını keşfetmenin tadını çıkarın!
Yorumlar (0)
Burada henüz yorum yok, ilk siz olabilirsiniz!