Google Maps API ile Harita, Konum ve Mesafe Hesaplama

Google Maps API ile web sitenize ve uygulamanıza harita, adres tamamlama, konum arama ve mesafeye göre ücret hesaplama eklemenin yollarını ve dikkat edilecek noktaları anlatıyoruz.

İçindekiler
  1. Google Maps API tek bir servis değildir
  2. Sık kullanılan senaryolar
  3. Maliyet ve kotalar
  4. Güvenlik: API anahtarını korumak
  5. Alternatif: Leaflet ve açık harita verileri
  6. Bu işi nasıl birlikte yaparız?
  7. Sık sorulan sorular
  8. Sonuç

Müşteriniz adresini yazmaya başlıyor ve doğru sokak kendiliğinden öneriliyor. Bir emlak sitesinde ilanlar harita üzerinde iğne iğne görünüyor. Yemek siparişinde teslimat ücreti, restorana olan uzaklığa göre otomatik hesaplanıyor. Bu özelliklerin çoğu Google Maps API ailesindeki servislerle kurulur. Bu yazıda hangi servisin ne işe yaradığını, projelerde nasıl birleştirildiğini, maliyet ve güvenlik açısından nelere dikkat etmek gerektiğini ve hangi durumlarda alternatif harita çözümlerinin daha mantıklı olduğunu anlatıyorum.

Google Maps API tek bir servis değildir

“Google Maps API” denince genellikle sitedeki bir harita akla gelir. Oysa Google’ın harita platformu, farklı işler yapan birçok servisten oluşur. En sık kullanılanlar şunlardır:

  • Harita gösterimi: Sayfaya etkileşimli bir harita yerleştirmek, üzerine işaretçi, bölge ya da rota çizmek.
  • Yer arama ve otomatik tamamlama: Kullanıcı adres ya da işletme adı yazarken öneriler sunmak.
  • Geocoding: Bir adresi enlem ve boylam koordinatına, ya da koordinatı okunabilir adrese çevirmek.
  • Rota ve mesafe: İki ya da daha fazla nokta arasındaki yol mesafesini ve tahmini süreyi hesaplamak.

Bir projede bu servislerden yalnızca biri ya da birkaçı birlikte kullanılabilir. Hangi servisin gerektiğini netleştirmek, hem maliyet hem performans açısından ilk adımdır.

Sık kullanılan senaryolar

İletişim sayfasında konum

En basit kullanım, işletmenizin adresini bir harita üzerinde göstermektir. Bunun için çoğu zaman yerleşik harita kodu yeterlidir ve geliştirme gerektirmez. Ancak birden fazla şubeniz varsa, şubelerin bir listeden seçilip haritada gösterilmesi gibi etkileşimler için API kullanımı devreye girer.

Adres formu ve otomatik tamamlama

Ödeme sayfasında ya da başvuru formunda adres alanına otomatik tamamlama eklemek, yanlış yazılmış adresleri ve eksik bilgileri azaltır. Seçilen adresin koordinatı da arka planda kaydedilerek sonraki işlemlerde (kargo bölgesi, teslimat alanı kontrolü) kullanılabilir.

Mesafeye göre ücret ve hizmet alanı

Yemek siparişi, nakliye, servis ya da kurulum hizmeti veren işletmeler için mesafe hesaplama doğrudan fiyatı etkiler. Örnek bir akış:

  1. Müşteri teslimat adresini otomatik tamamlamayla seçer.
  2. Sistem adresin koordinatını alır ve işletmenin konumuyla arasındaki yol mesafesini hesaplar.
  3. Mesafe, sizin belirlediğiniz kademelere göre ücrete çevrilir; hizmet alanı dışındaysa kullanıcıya bilgi verilir.
  4. Hesaplanan mesafe ve ücret siparişle birlikte kaydedilir.

Burada önemli bir ayrıntı, kuş uçuşu mesafe ile yol mesafesinin farklı olmasıdır. Kuş uçuşu hesap için harici servise gerek yoktur ve sunucuda kendi formülünüzle yapılabilir; ancak gerçek yol mesafesi gerekiyorsa rota servisi kullanılır.

İlan ve şube haritaları

Emlak, otel, oto galeri ya da bayi ağı olan firmalarda çok sayıda noktanın harita üzerinde gösterilmesi, filtrelerle birlikte çalışması gerekir. Yakın noktaların kümelenmesi, harita kaydırıldıkça yalnızca görünen alandaki kayıtların yüklenmesi gibi teknikler burada performans için önemlidir.

Maliyet ve kotalar

Google harita platformu kullanım bazlı ücretlendirilir ve faturalandırma hesabı tanımlanmasını gerektirir. Ücretsiz kullanım kapsamı, servis bazında fiyatlar ve kotalar Google tarafından belirlenir ve zaman içinde değişebilir. Bu nedenle rakam vermiyorum; güncel şartları Google’ın resmî fiyatlandırma sayfasından kontrol etmeniz gerekir. Maliyeti kontrol altında tutmak için genel ilkeler şunlardır:

  • Gereksiz çağrıdan kaçının: Aynı adresin koordinatını her seferinde yeniden sorgulamak yerine bir kez alıp veritabanında saklayın.
  • Otomatik tamamlamayı akıllıca tetikleyin: Her harfte değil, kullanıcı birkaç karakter yazdıktan sonra öneri isteyin.
  • Bütçe uyarısı kurun: Google Cloud tarafında harcama uyarıları ve kota sınırları tanımlayın.
  • Statik görsel düşünün: Etkileşim gerekmeyen yerlerde dinamik harita yerine sabit bir harita görseli yeterli olabilir.

Güvenlik: API anahtarını korumak

Tarayıcıda çalışan harita için kullanılan API anahtarı sayfa kaynağında görünür. Bu kaçınılmazdır, ancak anahtar mutlaka kısıtlanmalıdır: yalnızca sizin alan adınızdan gelen isteklere ve yalnızca kullandığınız servislere izin verilmelidir. Mesafe ve geocoding gibi sunucu tarafında yapılabilen işlemler için ayrı, IP kısıtlı bir anahtar kullanmak daha güvenlidir. Kısıtlanmamış bir anahtar başkaları tarafından kopyalanıp kullanılabilir ve fatura size gelir. Genel ilkeleri API güvenliği yazısında daha ayrıntılı anlattım.

Alternatif: Leaflet ve açık harita verileri

Her harita ihtiyacı için Google gerekmez. Özellikle çok sayıda noktanın gösterildiği ve adres arama gerektirmeyen projelerde Leaflet gibi açık kaynak harita kütüphaneleri, açık harita verileriyle birlikte iyi bir seçenektir. Örneğin geliştirdiğim emlak ilan teması, ilanları tam ekran bir Leaflet haritasında gösterir ve filtrelerle birlikte çalışır. Karar verirken şu soruları sorabilirsiniz:

İhtiyaç Uygun yaklaşım
Sadece nokta gösterimi ve filtre Leaflet ve açık harita verileri
Adres otomatik tamamlama Google yer arama servisi
Gerçek yol mesafesi ve süre Google rota ve mesafe servisleri
Karma ihtiyaç Gösterim için Leaflet, arama ve mesafe için Google

Açık harita verilerini kullanırken ilgili veri kaynağının kullanım şartlarına ve atıf kurallarına uymak gerekir.

Bu işi nasıl birlikte yaparız?

  1. Harita ihtiyacını netleştiririz: Haritayı nerede, ne amaçla kullanacağınızı, adres alıp almayacağınızı ve mesafe hesabının fiyatı etkileyip etkilemediğini konuşuruz.
  2. Servis seçimi ve teklif: Google servisleri, Leaflet ya da karma bir yapıdan hangisinin uygun olduğunu, maliyet etkileriyle birlikte belirleyip teklif sunarım.
  3. Geliştirme ve test: Haritayı, otomatik tamamlamayı ya da mesafe hesabını sitenize veya uygulamanıza ekler; anahtar kısıtlarını ve önbelleği kurar, farklı adreslerle test ederiz.
  4. Teslim ve izleme: Kullanım ve maliyet uyarılarını sizinle birlikte ayarlar, sonrasında destek vermeye devam ederim.

Projenizi konuşmak için iletişim sayfasından yazabilirsiniz.

Sık sorulan sorular

Google Maps API kullanmak ücretli mi?

Kullanım bazlı ücretlendirilir ve faturalandırma hesabı gerektirir. Ücretsiz kullanım kapsamı ve fiyatlar değişebildiği için güncel bilgiyi Google’ın resmî sayfasından kontrol edin.

Sitemdeki harita için mutlaka API gerekir mi?

Yalnızca tek bir adres gösterecekseniz yerleşik harita kodu çoğu zaman yeterlidir. Birden fazla nokta, filtre ya da etkileşim gerekiyorsa API kullanımı devreye girer.

API anahtarım çalınırsa ne olur?

Kısıtlanmamış bir anahtar başkaları tarafından kullanılabilir ve maliyeti size yansır. Alan adı ve servis kısıtı tanımlamak, bütçe uyarısı kurmak bu riski azaltır.

Mobil uygulamada da aynı servisler kullanılabilir mi?

Evet. Harita, yer arama ve mesafe servisleri mobil uygulamalarda da kullanılabilir; anahtar kısıtları uygulamaya göre ayrıca tanımlanmalıdır.

Sonuç

Google Maps API, harita gösteriminden adres tamamlamaya ve mesafeye göre fiyatlamaya kadar birçok işi kolaylaştırır. Doğru servisi seçmek, anahtarları kısıtlamak ve gereksiz çağrılardan kaçınmak hem maliyeti hem güvenliği kontrol altında tutar. Projenize uygun harita çözümünü birlikte belirlemek isterseniz bana ulaşabilirsiniz.