Google Maps Places API adalah alat canggih yang memungkinkan pengembang mengakses informasi mendetail tentang tempat-tempat di seluruh dunia. Dalam tutorial ini, kami akan memandu Anda melalui proses penggunaan Google Maps Places API baru dengan Python, mulai dari menyiapkan proyek Google Cloud hingga membuat permintaan API dan menangani respons.
Apa itu Google Maps Places API?
Google Maps memiliki dua versi Places API:
- API Lama – Memungkinkan koneksi dengan kunci API sederhana.
- API Generasi Berikutnya – Membutuhkan OAuth 2.0 untuk autentikasi dan menyediakan fitur lebih lanjut.
Menyiapkan Proyek Google Cloud Anda
- Navigasikan ke Google Cloud Console: Pergi ke Konsol Google Cloud.
- Buat Proyek: Jika Anda belum memiliki proyek, buatlah proyek dengan mengklik menu drop-down dan memilih “Proyek Baru”.
- Aktifkan API dan Layanan: Buka API dan Layanan > Dasbor, dan aktifkan Places API.
- Siapkan OAuth 2.0: Buka API dan Layanan > Layar Persetujuan OAuth, siapkan layar persetujuan, dan buat kredensial OAuth 2.0.
Mengautentikasi dengan OAuth 2.0
- Buat ID Klien OAuth: Pilih “Aplikasi Desktop” sebagai jenis aplikasi dan unduh file rahasia klien.
- Instal Perpustakaan yang Diperlukan: Gunakan pip untuk menginstal perpustakaan klien Google Python dan paket dotenv Python.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
Membuat Permintaan API
Menginisialisasi Klien API
Buat skrip Python (misalnya, maps_textsearch.py
) dan inisialisasi klien API menggunakan kredensial yang diunduh.
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)
Contoh: Pencarian Teks
Tentukan Parameter Pencarian: Membuat kueri untuk mencari tempat tertentu.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Tangani Responsnya: Mengekstrak dan menampilkan informasi yang relevan.
for place in response['results']:
print(place['name'], place['formatted_address'])
Contoh: Detail Tempat
Dapatkan Detail Tempat: Mengambil informasi detail tentang tempat tertentu menggunakan ID tempatnya.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Detail Tampilan: Ekstrak dan cetak detail seperti ulasan, jam buka, dll.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Harga dan Kuota
Google menawarkan kredit gratis sebesar $200 per bulan untuk semua produk Maps. Pantau penggunaan Anda untuk menghindari biaya tak terduga.
Kesimpulan
Dengan mengikuti langkah-langkah ini, Anda berhasil mengintegrasikan Google Maps Places API ke dalam aplikasi Python Anda, menyediakan banyak data terkait tempat untuk meningkatkan pengalaman pengguna.
Tabel: Poin-Poin Penting
Melangkah | Keterangan |
---|---|
Pengaturan Proyek | Buat proyek di Google Cloud Console, aktifkan Places API, dan siapkan kredensial OAuth 2.0. |
Autentikasi | Gunakan OAuth 2.0 untuk mengautentikasi permintaan API. |
Permintaan API | Buat permintaan API menggunakan perpustakaan klien Python. |
Penanganan Respons | Ekstrak dan tampilkan informasi yang relevan dari respons API. |
Harga | Manfaatkan kredit gratis $200 yang disediakan oleh Google Maps. |
Contoh Cuplikan Kode
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'])
Dengan mengikuti panduan ini, Anda dapat dengan mudah memulai Google Maps Places API dan membuka banyak data berbasis lokasi untuk aplikasi Anda. Selamat menjelajahi dunia Google Maps!
Komentar (0)
Belum ada komentar di sini, Anda bisa menjadi yang pertama!