Python ile Google Maps API kullanarak harita verilerini elde etmek, birçok uygulamada oldukça faydalıdır. Bu makalede, Google Maps API’yi nasıl kullanacağınızı ve Python’da bu API ile nasıl harita verilerine erişeceğinizi öğreneceksiniz.
Öncelikle, Google Maps API kullanabilmek için bir Google Cloud hesabına sahip olmanız ve bu hesabınızla bir Google Maps API projesi oluşturmanız gerekmektedir. Ardından, projeniz için gerekli olan API anahtarını alarak Python projenizde bu anahtarı kullanarak Google Maps API ile iletişime geçebilirsiniz.
Google Maps API, harita verlerini görüntülemek, yer bilgilerini almak, harita üzerinde konum belirlemek ve rota hesaplamak gibi birçok işlevi desteklemektedir. Bu işlevleri Python kodu ile gerçekleştirmek için, requests kütüphanesini kullanarak API ile iletişime geçebilir ve dönen verileri Python veritabanında kullanabilirsiniz.
Makalenin sonunda, bu adımları takip ederek Python ile Google Maps API’yi kullanarak harita verlerine erişmeyi öğrenmiş olacaksınız.
Google Maps API Nedir?
Google Maps API, Google’ın harita verlerini üçüncü taraf uygulamalarla paylaşmasına olanak tanıyan bir hizmettir. Bu servisler sayesinde bir uygulama içerisinde harita verlerini görüntüleyebilir, yer bilgilerini alabilir, harita üzerinde konum belirleyebilir ve rota hesaplayabilirsiniz. Örneğin bir web uygulamanız varsa, o web uygulamasında harita verlerini de görüntüleyerek kullanıcıların bu haritalar üzerinde çeşitli işlemler yapmasını sağlayabilirsiniz. Örneğin bir restoran uygulamanız varsa, o uygulama üzerinde harita üzerinden restoranların konumunu gösterebilir ya da kullanıcıların bulundukları konuma göre restoran aramasını sağlayabilirsiniz.
Bu API’leri kullanabilmek için bir Google Cloud hesabına sahip olmalı ve bu hesabınızla bir proje oluşturmalısınız. Proje oluşturduktan sonra o proje için gerekli olan API anahtarını alarak uygulamanızda bu anahtarı kullanabilirsiniz. Bu anahtar sayesinde Google Maps API ile uygulamanız arasında güvenli bir iletişim kurabilirsiniz.
Google Maps API Nasıl Kullanılır?
Google Maps API’yi kullanabilmek için öncelikle bir Google Cloud hesabına sahip olmanız ve bu hesabınızla bir proje oluşturmanız gerekmektedir. Proje oluşturduktan sonra o proje için gerekli olan API anahtarını alarak bu anahtarı uygulamanızda kullanabilirsiniz. Bu anahtar sayesinde uygulamanız ve Google Maps API arasında güvenli bir iletişim sağlanır.
API anahtarınızı aldıktan sonra, Google Maps API ile iletişime geçmek için HTTP istekleri göndeririz. Bu istekler sayesinde harita verlerini alabilir ve bu verleri Python kodunuzda kullanabilirsiniz. Örneğin, belirli bir konumun koordinat bilgilerini alabilir ya da belirli bir adresin bulunduğu konumu harita üzerinde belirleyebilirsiniz.
Bu istekleri gönderirken, Google Maps API’nin sunduğu farklı servislerden yararlanabilirsiniz. Örneğin, Haritalar API’sini kullanarak harita görüntüleme, Geocoding API’sini kullanarak adres bilgilerini alma ya da Directions API’sini kullanarak rota hesaplama işlemleri gerçekleştirebilirsiniz.
Google Maps API Kullanımı İçin Gerekli Olanlar
Google Maps API’yi kullanabilmek için öncelikle bir Google Cloud hesabına sahip olmalısınız. Bu hesabınızı oluşturduktan sonra aşağıdaki adımları takip ederek Google Maps API kullanımına başlayabilirsiniz:
- Bir Google Cloud projesi oluşturun: Bu proje altında Google Maps API ile ilgili ayarları yapacaksınız.
- API anahtarı alın: Oluşturduğunuz proje için gerekli olan API anahtarını alarak uygulamanızda kullanabilirsiniz.
- Billing (faturalandırma) ayarlarını yapın: Google Maps API bazı özellikleri için ücret talep edebilir, bu nedenle billing ayarlarınızı yapmalısınız.
- Gerekli kütüphaneleri yükleyin: Python’da HTTP istekleri göndermek için requests kütüphanesini yüklemelisiniz.
- API ile istek gönderin: Python kodunuzda requests kütüphanesini kullanarak Google Maps API ile iletişime geçebilirsiniz.
Tüm bu adımları tamamladıktan sonra Google Maps API’yi Python projenizde kullanmaya başlayabilirsiniz.
Google Maps API Anahtarının Alınması
Google Maps API’yi kullanabilmek için öncelikle bir Google Cloud hesabına sahip olmalı ve bu hesabınızla bir proje oluşturmalısınız. Proje oluşturduktan sonra o proje için gerekli olan API anahtarını alarak bu anahtarı uygulamanızda kullanabilirsiniz. Bu anahtar sayesinde uygulamanız ve Google Maps API arasında güvenli bir iletişim sağlanır.
API anahtarını almak için aşağıdaki adımları takip edebilirsiniz:
- Google Cloud Console’a gidin:
- Projenizi seçin veya oluşturun: Eğer daha önce bir proje oluşturmadıysanız yeni bir proje oluşturmalısınız.
- API Hizmetleri sayfasına gidin: Proje ayarlarından “API Hizmetleri” sayfasına giderek yeni bir API anahtarı oluşturabilirsiniz.
- API anahtarı oluşturun: “API anahtarı oluştur” butonuna tıklayarak yeni bir anahtar oluşturabilir ve bu anahtarı projelerinizde kullanabilirsiniz.
Tüm bu adımları tamamladıktan sonra Google Maps API’yi Python projenizde kullanmaya başlayabilirsiniz.
Google Maps API Anahtarının Güvenliği
Google Maps API anahtarınızı güvenli bir şekilde saklamanız oldukça önemlidir. Anahtarınızın kötü niyetli kişiler tarafından ele geçirilmesi durumunda, sizin adınıza yapılacak istekler sonucu yüksek faturalarla karşılaşabilirsiniz. Bu nedenle aşağıdaki güvenlik önlemlerini almanızı öneririm:
- Çevresel Değişkenler Kullanın: Anahtarınızı doğrudan kodunuzun içerisine yazmak yerine çevresel değişkenlerde saklayın.
- Kısıtlamalar Ekleyin: Google Cloud Console’dan projenizin ayarlarına giderek IP adresi veya HTTP referansları gibi kısıtlamalar ekleyin. Bu sayede sadece belirlediğiniz IP adreslerinden ya da referanslardan gelen istekler anahtarınızı kullanarak yapılabilir.
- Sıkı Faturalandırma Kontrolleri Yapın: Faturalandırma ayarlarınızı yaparken belirli limitler koyun veya uyarılar oluşturun. Böylece belirlediğiniz limitlere ulaşıldığında size bildirim gelir.
Ayrıca, herhangi bir nedenle anahtarınızın sızdığından şüpheleniyorsanız hemen yeni bir anahtar oluşturun ve eski anahtarınızı iptal edin.
Python İle Google Maps API Kullanımı
Python ile Google Maps API’yi kullanmak için öncelikle gerekli kütüphaneleri yüklemeli ve daha sonra istek göndermeliyiz. Aşağıdaki adımları takip ederek Python ile Google Maps API’yi nasıl kullanacağınızı öğrenebilirsiniz:
- Kütüphanelerin Yüklenmesi: İlk olarak requests kütüphanesini yüklemelisiniz.
- API Anahtarının Kullanılması: Elde ettiğiniz Google Maps API anahtarını projenizde tanımlamalısınız.
- İstek Gönderme: requests kütüphanesini kullanarak Google Maps API ile iletişime geçebilir ve istediğiniz verileri alabilirsiniz.
Aşağıdaki örnek kodda, belirli bir adresin koordinat bilgilerini almak için Geocoding API’sini kullandık:
import requests
# Google Maps API anahtarını tanımlayın
api_key = 'YOUR_API_KEY'
adress = 'Eiffel Tower, Paris'
yer_url = f'https://maps.googleapis.com/maps/api/geocode/json?address={adress}&key={api_key}'
response = requests.get(yer_url)
data = response.json()
if data['status'] == 'OK':
print(data['results'][0]['geometry']['location'])
else:
print('Veri alınamadı')
Ayrıca, diğer servislerden yararlanarak da farklı verileri alabiliriz. Örneğin, Directions API’sini kullanarak rota hesaplama işlemi gerçekleştirebiliriz:
origin = 'Eiffel Tower, Paris'
destination = 'Louvre Museum, Paris'
directions_url = f'https://maps.googleapis.com/maps/api/directions/json?origin={origin}&destination={destination}&key={api_key}'
directions_response = requests.get(directions_url)
directions_data = directions_response.json()
if directions_data['status'] == 'OK':
print(directions_data['routes'][0]['legs'][0]['duration']['text'])
else:
print('Rota hesaplanamadı')
Kütüphanelerin Yüklenmesi
Pythonda harici kütüphaneleri yüklemek için pip paket yöneticisini kullanırız. Aşağıdaki komutları terminal veya komut istemcisinde yazarak gerekli kütüphaneleri yükleyebilirsiniz:
pip install requests
Bazı durumlarda terminal veya komut istemcisi yerine Jupyter Notebook veya benzeri etkileşimli ortamlar kullanıyorsanız da pip komutunu şu şekilde çalıştırabilirsiniz:
!pip install requests
Kütüphanelerin yüklenmesi tamamlandıktan sonra artık projemizde bu kütüphaneleri kullanarak HTTP istekleri gönderebilir ve gelen cevapları işleyebiliriz.
Kütüphanelerin Yüklenmesi
Pythonda harici kütüphaneleri yüklemek için pip paket yöneticisini kullanırız. Aşağıdaki komutları terminal veya komut istemcisinde yazarak gerekli kütüphaneleri yükleyebilirsiniz:
pip install requests
Bazı durumlarda terminal veya komut istemcisi yerine Jupyter Notebook veya benzeri etkileşimli ortamlar kullanıyorsanız da pip komutunu şu şekilde çalıştırabilirsiniz:
!pip install requests
Kütüphanelerin yüklenmesi tamamlandıktan sonra artık projemizde bu kütüphaneleri kullanarak HTTP istekleri gönderebilir ve gelen cevapları işleyebiliriz.
Kütüphanelerin Yüklenmesi
Pythonda harici kütüphaneleri yüklemek için pip paket yöneticisini kullanırız. Aşağıdaki komutları terminal veya komut istemcisinde yazarak gerekli kütüphaneleri yükleyebilirsiniz:
pip install requests
Bazı durumlarda terminal veya komut istemcisi yerine Jupyter Notebook veya benzeri etkileşimli ortamlar kullanıyorsanız da pip komutunu şu şekilde çalıştırabilirsiniz:
!pip install requests
Kütüphanelerin yüklenmesi tamamlandıktan sonra artık projemizde bu kütüphaneleri kullanarak HTTP istekleri gönderebilir ve gelen cevapları işleyebiliriz.
Kullanıcı Arayüzünün Oluşturulması
Kullanıcı arayüzünü oluşturmak için farklı yöntemler kullanabiliriz. Örneğin Tkinter kütüphanesini kullanarak basit bir masaüstü uygulaması geliştirebiliriz. Tkinter, Pythonda GUI (grafiksel kullanıcı arayüzü) oluşturmak için kullanılan yerleşik bir kütüphanedir.
Aşağıda basit bir Tkinter kullanıcı arayüzü örneği bulunmaktadır:
import tkinter as tk
from tkinter import ttk
import requests
class MapApp:
def __init__(self, root):
self.root = root
self.root.title('Harita Uygulaması')
self.api_key = 'YOUR_API_KEY' # Buraya kendi API anahtarınızı girin.
# Kullanıcı arayüz bileşenlerini oluşturma
self.create_widgets()
def create_widgets(self):
# Koordinatları gösteren etiketler
self.lat_label = ttk.Label(self.root, text='Enlem:')
self.lat_label.grid(column=0, row=0)
self.lng_label = ttk.Label(self.root, text='Boylam:')
self.lng_label.grid(column=1, row=0)
# Enlem ve boylam giriş kutuları
self.lat_entry = ttk.Entry(self.root)
self.lat_entry.grid(column=0, row=1)
self.lng_entry = ttk.Entry(self.root)
self.lng_entry.grid(column=1, row=1)
# Haritayı gösteren buton
self.show_map_button = ttk.Button(self.root, text='Haritayı Göster', command=self.show_map)
self.show_map_button.grid(column=0, row=2)
def show_map(self):
lat = self.lat_entry.get()
lng = self.lng_entry.get()
# Harita URL'sini oluşturma
map_url = f'https://maps.googleapis.com/maps/api/staticmap?center={lat},{lng}&zoom=14&size=400x400&key={self.api_key}'
display_map(map_url)
def display_map(map_url):
kutu = tk.Tk()
kutu.title('Google Haritas')
dosya = requests.get(map_url)
yol = "harita.jpg"
foto = open(yol,"wb")
foto.write(dosya.content)
foto.close()
harita = tk.PhotoImage(file=yol)
görüntü = tk.Label(kutu,image=harita)
görüntü.pack()
kutu.mainloop()
kutu.mainloop()
dosya = requests.get(map_url)
yol = "harita.jpg"
foto = open(yol,"wb")
foto.write(dosya.content)
foto.close()
harita = tk.PhotoImage(file=yol)
görüntü = tk.Label(kutu,image=harita)
görüntü.pack()
kutu.mainloop()