Google Maps Node
Google Maps node'u, SkyStudio workflow'larında Google Maps Platform ile entegrasyon sağlar. Adres/koordinat dönüştürme, mesafe hesaplama, yakın yer arama, yön tarifi alma ve statik harita görseli oluşturma gibi işlemleri otomatikleştirebilirsiniz.
Bağlantı Kurulumu ve Yönetimi
Google Maps node'unu kullanabilmek için bir Google Maps API anahtarı gereklidir.
API Anahtarı Alma
- Google Cloud Console adresine gidin.
- Bir proje oluşturun veya mevcut bir projeyi seçin.
- APIs & Services → Library bölümünden aşağıdaki API'leri etkinleştirin:
- Maps JavaScript API
- Geocoding API
- Places API
- Directions API
- Distance Matrix API
- Maps Static API
- APIs & Services → Credentials bölümünden Create Credentials → API Key seçin.
- Oluşturulan API anahtarını kopyalayın.
SkyStudio'ya Bağlantı Ekleme
- SkyStudio'nun sol menüsünden Uygulama Bağlantıları bölümüne gidin.
- Yeni Bağlantı Ekle butonuna tıklayın.
- Sağlayıcı olarak Google Maps seçin.
- API anahtarınızı ilgili alana yapıştırın ve kaydedin.
Bağlantıyı Node'a Atama
Google Maps node'unu canvas'a ekledikten sonra sağ paneldeki Uygulama Bağlantıları açılır menüsünden oluşturduğunuz bağlantıyı seçin.
Not: Her operasyon için aynı bağlantı kullanılır. Farklı projeler için farklı API anahtarıyla birden fazla bağlantı tanımlayabilirsiniz.
Operasyonlar
Google Maps node'u 9 operasyon sunmaktadır:
| Operasyon | Kategori | Açıklama |
|---|---|---|
| Adres → Koordinat | Öne Çıkan | Metin adresini enlem/boylam koordinatlarına çevirir |
| Mesafe & Süre | Öne Çıkan | İki nokta arasındaki mesafe ve seyahat süresini hesaplar |
| Yakındaki Yerler | Öne Çıkan | Belirli koordinat etrafındaki yerleri arar |
| Yer Ara | Öne Çıkan | Metin sorgusuyla yer ve adres arar |
| Harita AI Asistan | Öne Çıkan | Doğal dil sorgusuyla harita verilerini sorgular |
| Koordinat → Adres | Standart | Enlem/boylam koordinatını metin adresine çevirir |
| Yön Tarifi | Standart | İki nokta arasında adım adım yol tarifi verir |
| Yer Detayı | Standart | Place ID ile bir yerin detaylı bilgilerini getirir |
| Harita Görseli | Standart | Belirtilen konumu statik görsel olarak döndürür |
Adres → Koordinat
Bir metin adresini enlem (latitude) ve boylam (longitude) koordinat değerlerine dönüştürür. Geocoding işlemi olarak da bilinir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Address | Evet | Koordinata çevrilecek adres metni (örn. Taksim Meydanı, İstanbul) |
| Language | Hayır | Sonuçların döneceği dil kodu (örn. tr, en) |
Örnek Çıktı
{
"lat": 41.0369,
"lng": 28.9850,
"formatted_address": "Taksim Meydanı, Beyoğlu/İstanbul, Türkiye"
}
Mesafe & Süre
Bir veya birden fazla başlangıç noktasından bir veya birden fazla varış noktasına olan mesafeyi ve tahmini seyahat süresini hesaplar (Distance Matrix).
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Origins | Evet | Başlangıç noktası veya noktaları (adres ya da enlem,boylam formatında) |
| Destinations | Evet | Varış noktası veya noktaları (adres ya da enlem,boylam formatında) |
| Travel Mode | Hayır | Ulaşım türü: driving (araç), walking (yürüyüş), bicycling (bisiklet), transit (toplu taşıma) |
| Language | Hayır | Sonuçların döneceği dil kodu |
Origins / Destinations Formatı
Tek nokta: Kadıköy, İstanbul
Birden fazla nokta: Kadıköy, İstanbul|Beşiktaş, İstanbul
Yakındaki Yerler
Verilen koordinat noktası etrafında belirtilen yarıçap içindeki yerleri listeler. Restoran, eczane, ATM gibi kategoriye göre filtreleme yapılabilir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Latitude | Evet | Merkez noktanın enlem değeri (örn. 41.0082) |
| Longitude | Evet | Merkez noktanın boylam değeri (örn. 28.9784) |
| Radius (meters) | Evet | Arama yarıçapı (metre cinsinden, maks. 50000) |
| Place Type | Hayır | Yer kategorisi (örn. restaurant, pharmacy, atm, hospital) |
| Keyword | Hayır | Sonuçları filtreleyen anahtar kelime (örn. kahve, pizza) |
| Language | Hayır | Sonuçların döneceği dil kodu |
Place Type Örnekleri
restaurant, cafe, hospital, pharmacy, bank, atm, gas_station, hotel, supermarket, school, park
Yer Ara
Metin tabanlı arama sorgusuyla Google Maps'te yer ve adres arar. Kullanıcı girişine dayalı yer arama senaryolarında kullanılır.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Search Query | Evet | Arama metni (örn. İstanbul Havalimanı, Antalya otelleri) |
| Language | Hayır | Sonuçların döneceği dil kodu |
Örnek Çıktı
{
"results": [
{
"place_id": "ChIJLU7jZClu0xQRIOd2kzuSCZU",
"name": "İstanbul Havalimanı",
"formatted_address": "Tayakadın, 34283 Arnavutköy/İstanbul",
"geometry": {
"location": { "lat": 41.2608, "lng": 28.7418 }
},
"rating": 4.3
}
]
}
Harita AI Asistan
Doğal dil sorgusuyla Google Maps verilerini sorgular. Karmaşık arama ve filtreleme işlemlerini sade bir soru formatıyla gerçekleştirir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Query | Evet | Doğal dil sorgusu |
| System Prompt | Hayır | AI asistanının davranışını özelleştiren sistem talimatı |
Kullanım Örneği
Query: "Kadıköy'e en yakın 3 eczaneyi bul"
System Prompt: "Sadece 24 saat açık olan yerleri listele ve adreslerini Türkçe ver."
Koordinat → Adres
Enlem/boylam koordinatlarını okunabilir metin adresine dönüştürür. Ters geocoding (reverse geocoding) işlemidir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Latitude | Evet | Enlem değeri (örn. 41.0082) |
| Longitude | Evet | Boylam değeri (örn. 28.9784) |
| Language | Hayır | Sonuçların döneceği dil kodu |
Örnek Çıktı
{
"formatted_address": "Sultanahmet, Fatih/İstanbul 34122, Türkiye",
"address_components": [
{ "long_name": "Sultanahmet", "types": ["neighborhood"] },
{ "long_name": "Fatih", "types": ["sublocality"] },
{ "long_name": "İstanbul", "types": ["locality"] }
]
}
Yön Tarifi
İki nokta arasında adım adım yol tarifi üretir. Ara duraklar (waypoints) eklenebilir; farklı ulaşım modları desteklenir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Origin | Evet | Başlangıç noktası (adres veya enlem,boylam) |
| Destination | Evet | Varış noktası (adres veya enlem,boylam) |
| Waypoints | Hayır | Rota üzerindeki ara duraklar (boru | ile ayrılmış) |
| Travel Mode | Hayır | Ulaşım türü: driving, walking, bicycling, transit |
| Language | Hayır | Talimatların döneceği dil kodu |
Waypoints Kullanımı
Üsküdar, İstanbul|Bostancı, İstanbul
Her waypoint bir ara durak oluşturur; rota sırayla tüm noktalardan geçer.
Yer Detayı
Bir yerin Place ID'sini kullanarak o yere ait detaylı bilgileri getirir: telefon numarası, çalışma saatleri, web sitesi, fotoğraflar, yorumlar ve daha fazlası.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Place ID | Evet | Yerin Google Maps Place ID'si (örn. ChIJLU7jZClu0xQRIOd2kzuSCZU) |
| Fields | Hayır | Getirilecek alanlar (virgülle ayrılmış, örn. name,rating,opening_hours,formatted_phone_number) |
| Language | Hayır | Sonuçların döneceği dil kodu |
Place ID Nasıl Bulunur?
"Yer Ara" operasyonunun çıktısındaki place_id alanı doğrudan kullanılabilir. Google Maps web arayüzünde de bir yeri sağ tıklayarak Place ID kopyalanabilir.
Fields Örnekleri
name, rating, formatted_address, formatted_phone_number, website, opening_hours, photos, reviews, price_level, geometry
Harita Görseli
Belirtilen konumu merkez alarak statik bir harita görseli (PNG) oluşturur. Workflow çıktılarına veya raporlara harita eklemek için kullanılır.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Google Maps API bağlantısı |
| Center | Evet | Haritanın merkez noktası (adres veya enlem,boylam) |
| Zoom (1-20) | Hayır | Zoom seviyesi: 1 = dünya, 10 = şehir, 15 = sokak, 20 = bina (varsayılan: 13) |
| Width (px) | Hayır | Görsel genişliği piksel cinsinden (varsayılan: 600) |
| Height (px) | Hayır | Görsel yüksekliği piksel cinsinden (varsayılan: 400) |
| Map Type | Hayır | Harita türü: roadmap (yol), satellite (uydu), terrain (arazi), hybrid (karma) |
| Markers | Hayır | Haritaya eklenecek işaretçiler (adres veya enlem,boylam) |
Zoom Rehberi
| Değer | Görünüm |
|---|---|
| 1-3 | Kıta / Dünya |
| 4-6 | Ülke |
| 7-10 | Şehir |
| 11-13 | İlçe |
| 14-16 | Sokak |
| 17-20 | Bina / Detay |
Hızlı Başlangıç Örnekleri
Örnek 1: Teslimat Adresi Doğrulama
Kullanıcının girdiği adresi koordinata çevirip haritada göster:
Metin Girişi → Adres → Koordinat → Harita Görseli → Metin Çıktısı
Adres → Koordinat ayarları:
- Address:
{{input.text}} - Language:
tr
Harita Görseli ayarları:
- Center:
{{geocode.lat}},{{geocode.lng}} - Zoom:
15 - Map Type:
roadmap - Markers:
{{geocode.lat}},{{geocode.lng}}
Örnek 2: Yakın Eczane Bulucu
Kullanıcının konumuna göre yakındaki eczaneleri listeleyen chatbot:
Metin Girişi (konum) → Adres → Koordinat → Yakındaki Yerler → LLM (listele) → Metin Çıktısı
Yakındaki Yerler ayarları:
- Latitude:
{{geocode.lat}} - Longitude:
{{geocode.lng}} - Radius (meters):
1000 - Place Type:
pharmacy - Language:
tr
Örnek 3: Saha Ekibi Yön Tarifi
Müşteri adresine saha ekibinin güzergahını hesaplayan workflow:
HTTP Çağrısı (CRM'den adres al) → Yön Tarifi → LLM (özetle) → Slack Mesajı
Yön Tarifi ayarları:
- Origin:
{{crm.depot_address}} - Destination:
{{crm.customer_address}} - Travel Mode:
driving - Language:
tr
Örnek 4: Doğal Dil Harita Asistanı
Kullanıcının sorularını doğal dilde yanıtlayan harita chatbot'u:
Metin Girişi → Harita AI Asistan → Metin Çıktısı
Harita AI Asistan ayarları:
- Query:
{{input.text}} - System Prompt:
"Türkçe yanıt ver. Adres ve mesafe bilgilerini her zaman dahil et."
Sık Karşılaşılan Hatalar
| Hata | Olası Neden | Çözüm |
|---|---|---|
REQUEST_DENIED | API anahtarı geçersiz veya eksik izin | API anahtarını kontrol edin; gerekli API'lerin Cloud Console'da etkin olduğunu doğrulayın |
ZERO_RESULTS | Adres veya yer bulunamadı | Arama sorgusunu veya adresi daha açık yazın |
OVER_QUERY_LIMIT | API kota aşıldı | Google Cloud Console'da kota limitlerini artırın veya istek sıklığını azaltın |
INVALID_REQUEST | Eksik zorunlu parametre | Origin/Destination veya Latitude/Longitude alanlarının dolu olduğunu kontrol edin |
NOT_FOUND | Place ID bulunamadı | Place ID'nin güncel ve geçerli olduğunu "Yer Ara" ile doğrulayın |
MAX_WAYPOINTS_EXCEEDED | Çok fazla ara durak | Waypoints sayısını 8 veya altına indirin |
Notlar
- Language alanı için ISO 639-1 dil kodları kullanılır: Türkçe için
tr, İngilizce içinen, Almanca içinde. - Radius (Yakındaki Yerler) maksimum 50.000 metre olabilir; daha büyük değerler otomatik kırpılır.
- Harita Görseli operasyonu görsel URL'si yerine doğrudan PNG binary döndürebilir; workflow'da "Dosya Çıktısı" node'u ile kaydetmek mümkündür.
- Google Maps API'si istek başına ücretlendirme modeli kullanır. Yüksek hacimli workflow'larda maliyet optimizasyonu için sonuçları önbelleğe almayı (cache) düşünün.
- Place ID zamanla değişebilir; uzun süreli saklama yerine her seferinde "Yer Ara" ile güncel ID almak önerilir.