Google Maps API Key Alma ve Domain Kısıtlama Dokümanı

Bu doküman, CityCourier ve diğer Executive VIP Transfer Service için Google Maps API anahtarı oluşturma, gerekli API’leri aktifleştirme ve domain (HTTP referrer) kısıtlaması ekleme adımlarını içerir.

1. Giriş

Bu rehber aşağıdaki eklentilerle uyumludur:

  • CityCourier – Kurye & Teslimat Eklentisi
  • Executive VIP Transfer Service
  • Adres Otomatik Tamamlama (Google Places) entegrasyonları
  • Google Distance Matrix API kullanan diğer GKSoft çözümleri

2. Google Maps API Key Nasıl Alınır?

2.1. Google Cloud Projesi Oluşturma

  1. https://console.cloud.google.com adresine Google hesabınızla giriş yapın.
  2. Üstteki proje menüsünden New Project / Yeni Proje seçeneğini tıklayın.
  3. Projeye bir ad verin (ör. CityCourier Maps) ve Create butonuna tıklayın.

2.2. Faturalandırma (Billing) Bağlama

Google Maps Platform’un çalışması için projeye bağlı bir Billing (Faturalandırma) hesabı olması gerekir.

  1. Sol menüden Billing bölümüne girin.
  2. Bir ödeme yöntemi (kredi kartı) ekleyin.
  3. Oluşturduğunuz projeyi bu billing hesabına bağlayın.

2.3. Gerekli API’leri Etkinleştirme

GKSoft eklentileri için genellikle aşağıdaki API’lerin aktif olması gerekir:

  • Maps JavaScript API
  • Places API (adres otomatik tamamlama için)
  • Geocoding API (adres ↔ koordinat dönüşümleri için)
  • Distance Matrix API (iki nokta arası mesafe ve süre hesaplama)
  1. Sol menüde APIs & Services → Library sayfasına gidin.
  2. Her bir API adını aratın.
  3. Bulduktan sonra Enable butonuna tıklayın.

2.4. API Key Oluşturma

  1. APIs & Services → Credentials sayfasına gidin.
  2. Create credentials → API key butonuna tıklayın.
  3. Açılan pencerede yeni API anahtarınız oluşturulacaktır (AIza... ile başlar).
  4. Güvenli hale getirmek için Restrict key butonuna tıklayın.

3. Domain (HTTP Referrer) Kısıtlama Ayarları

API anahtarınızı yalnızca kendi sitenizde kullanılabilir hale getirmek için HTTP referrer (web sites) kısıtlaması eklemeniz gerekir. Yanlış yapılandırma çoğu harita hatasının kaynağıdır.

3.1. Application Restrictions (Uygulama Kısıtlaması)

  1. API key ayarlarında Application restrictions bölümünü bulun.
  2. Web sites (HTTP referrers) seçeneğini işaretleyin.

3.2. Domain (Referrer) Listesini Tanımlama

Örnek domain example.com olsun. Aşağıdaki referer kalıplarını eklemeniz önerilir:

https://example.com/*
https://www.example.com/*
https://*.example.com/*
http://localhost/*
http://127.0.0.1/*

Notlar:

  • * işareti, ilgili domain altındaki tüm sayfaları kapsar.
  • Hem www hem www olmayan sürümleri eklemek güvenlidir.
  • Geliştirme ortamı için localhost girdilerini eklemek faydalıdır.

3.3. API Restrictions (API Bazlı Kısıtlama)

  1. Aynı ekranda API restrictions bölümüne ilerleyin.
  2. Restrict key seçeneğini seçin.
  3. Aşağıdaki API’leri işaretleyin:
    • Maps JavaScript API
    • Places API
    • Geocoding API
    • Distance Matrix API
  4. Save ile kaydedin. (Değişiklikler birkaç dakika içinde aktif hale gelir.)

4. Yaygın Hatalar ve Çözümleri

4.1. RefererNotAllowedMapError

Tarayıcı konsolunda (F12 → Console) şöyle bir hata görebilirsiniz:

RefererNotAllowedMapError: The current URL loading the Google Maps JavaScript API has not been added to the list of allowed referrers...

Muhtemel nedenler:

  • Domain hatalı yazıldı (ör. uzantı eksik, slash eksik vs.).
  • Sadece https://www.example.com/* eklendi, fakat site https://example.com üzerinden çalışıyor.
  • Gerekli wildcard (*) eklenmedi.

Çözüm: Referrer listesine aşağıdakilerin eklendiğinden emin olun:

https://example.com/*
https://www.example.com/*

4.2. gm_authFailure – API Doğrulama Hatası

Bu hata, Google Maps API anahtarının doğrulanamadığını ifade eder.

Olası nedenler:

  • Yanlış veya silinmiş API anahtarı kullanılması
  • Domain kısıtlama ayarlarının hatalı olması
  • Billing (faturalandırma) hesabının devre dışı kalması

5. Önerilen Kullanım (GKSoft Eklentileri)

  • CityCourier ayar sayfasına “Google Maps Kurulum Rehberi” bağlantısı ekleyin.
  • Eklenti yönetim menüsünde “Documentation / Yardım” bölümünde bu sayfaya link verin.
  • Harita hatası oluştuğunda kullanıcıya bu sayfanın bağlantısını göndererek kontrol etmesini isteyin.