Soru: SambaPOS Paket Servis Modülünde Müşteri Seçildiğinde Harita Neden Açılmaz ve ‘For Development Purposes Only’ Yazar?
Cevap: Restoranlarda, su bayilerinde ve paket servis hizmeti veren işletmelerde kurye teslimat süreçlerini yöneten SambaPOS V5 otomasyonunda telefon çalıp müşteri seçildiğinde müşterinin adresinin ekrandaki haritada nokta atışı görünmesi, kuryeye en kısa rota çizilmesi gerekirken harita penceresinin bembeyaz kalması, kararması veya haritanın üzerinde filigran şeklinde ‘For development purposes only’ (Yalnızca Geliştirme Amaçlıdır) uyarısı vererek adresin haritada işaretlenememesi sık karşılaşılan bir API kilitlenmesidir. Kasiyer kuryeye teslimat bölgesini ve tarifini veremez; siparişler gecikir. Bu problem SambaPOS yazılımının bozulması değil; Google Haritalar altyapısında kullanılan Google Maps JavaScript API anahtarının yetkilendirme, faturalandırma veya alan adı kısıtlamasına takılmasıdır.
Google Maps API Hatasının Ortaya Çıkış Nedenleri
SambaPOS un harita modülü arka planda Google Cloud Platform (GCP) servisleriyle konuşur:
- Faturalandırma Hesabının (Billing Account) Bağlanmaması: Google ın değişen küresel politikaları gereğince, her ay ücretsiz 200 dolarlık harita kredisi verilmesine rağmen GCP konsolunda geçerli bir kredi kartı ile faturalandırma hesabı aktif edilmemişse harita servisi doğrudan ‘Geliştirme Amaçlı’ kısıtlamasına düşer ve çalışmaz.
- Gerekli API Kütüphanelerinin Açılmaması: Konsolda yalnızca harita API si açılmış, ancak adresi koordinata (Enlem/Boylam) çeviren Geocoding API ve rota hesaplayan Directions API servislerinin etkinleştirilmemiş olması.
- Eski Internet Explorer / WebBrowser Denetleyicisi Çakışması: Windows kayıt defterinde SambaPOS un haritayı render eden tarayıcı motorunun eski IE7 modunda kalması.
1. Adım: Google Cloud Console Üzerinde Gerekli Üç API’yi Aktifleştirme
Haritanın eksiksiz çalışabilmesi için Google konsolunda üç servisin de açık olması şarttır:
console.cloud.google.comadresi açılarak şirket Google hesabıyla oturum açılır.- APIs & Services > Library (Kütüphane) menüsüne gidilir.
- Arama kutusuna yazılarak şu 3 API tek tek bulunur ve ‘ENABLE’ (Etkinleştir) butonuna basılır:
- Maps JavaScript API (Haritayı ekrana çizen motor).
- Geocoding API (Yazılan açık metin adresi harita koordinatına çeviren servis).
- Directions API (Mutfak ile müşteri arasındaki kurye yol tarifini çizen servis).
2. Adım: API Anahtarı Kısıtlamalarını Yapılandırma
Güvenlik kısıtlamaları hatalıysa harita veri çekemez:
GCP Kimlik Bilgileri (Credentials) Ayarları:
1. APIs & Services > Credentials menüsünden oluşturulan 'API Key' açılır.
2. 'Application Restrictions' (Uygulama Kısıtlamaları): Masaüstü yazılımlarında çalışabilmesi için 'None' (Hiçbiri) olarak seçilmelidir. (HTTP Referrer seçilirse SambaPOS haritayı yükleyemez!).
3. 'API Restrictions' (API Kısıtlamaları): Yukarıda etkinleştirilen 3 API işaretlenir ve 'Save' denilir.
4. Oluşan 39 karakterlik anahtar (Örn: AIzaSyD...) kopyalanır.3. Adım: SambaPOS İçine API Anahtarının Girilmesi ve Registry Hilesi
Yeni anahtar SambaPOS a tanıtılır ve Windows web motoru modernize edilir:
SambaPOS Harita Yapılandırması:
1. SambaPOS > Yönetim > Ayarlar > Program Ayarları > 'Harita Ayarları' menüsü açılır.
2. 'Google Maps API Key' kutusuna kopyalanan lisans anahtarı yapıştırılır ve kaydedilir.
Windows WebBrowser Motorunu Güncelleme (Kayıt Defteri):
regedit açılır -> HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMainFeatureControlFEATURE_BROWSER_EMULATION yoluna gidilir.
'SambaPOS.exe' adında bir DWORD (32-bit) değeri oluşturulur ve değer verisi Onaltılık: '2AF8' (Ondalık: 11001 - IE11 Modu) yapılır.SambaPOS yeniden başlatıldığında müşteri adresi seçildiği anda haritanın pürüzsüz renkte açıldığı, filigran uyarısının kaybolduğu ve kurye rota çizgisinin milisaniyede ekrana geldiği doğrulanır.
Restoran paket servis otomasyonları, SambaPOS kurye takip sistemleri, Google Harita entegrasyonu ve çağrı merkezi (Caller ID) projelerinde BaykalSoft Perakende Bilişim ekibimizle iletişime geçebilirsiniz.