Optimizasyon Rehberi

Bu kılavuzda, Google Haritalar API'leri kullanımınızı güvenlik, performans ve tüketim açısından optimize etmeye yönelik çeşitli stratejiler açıklanmaktadır.

Güvenlik

Güvenlikle ilgili en iyi uygulamaları inceleme

API anahtarları, kullanıcı kimlikleri ve şifrelerle aynı önlemleri hak eden, projeye özgü kimlik bilgileridir. Anahtarlarınızı, hesabınızda gereksiz kota kullanımına ve beklenmedik ücretlere yol açabilecek istenmeyen kullanımlara karşı korumak için API Güvenliğiyle İlgili En İyi Uygulamalar'ı inceleyin.

Maps API'lerine erişmek için API anahtarlarını kullanma

API anahtarları, Google Haritalar API'lerine erişmek için tercih edilen kimlik doğrulama yöntemidir. İstemci kimliklerinin kullanımı hâlâ destekleniyor olsa da API anahtarları daha ayrıntılı güvenlik kontrollerini destekler ve belirli web adresleri, IP adresleri ve mobil SDK'larla (Android ve iOS) çalışacak şekilde ayarlanabilir. API anahtarı oluşturma ve güvenliğini sağlama hakkında bilgi edinmek için her API veya SDK'nın "API Anahtarı Kullanma" sayfasına gidin. (Örneğin, Maps JavaScript API için API Anahtarı Kullanma sayfasını ziyaret edin.)

Performans

Hataları işlemek için eksponansiyel geri yükleme kullanma

Uygulamalarınız kısa süre içinde bir API'yi çağırma girişimlerinin çok fazla olması nedeniyle hatalarla (ör. kota hataları) karşılaşıyorsa isteklerin işlenmesi için eksponansiyel geri yüklemeyi kullanmayı düşünebilirsiniz. Eksponansiyel geri yükleme, 500'lü hatalar için en yararlı yöntemdir.

Sorgularınızın hızını ayarlayın. Kodunuza sorgular arasında S saniyelik bir bekleme süresi ekleyin. Sorgu hâlâ kota hatasıyla sonuçlanıyorsa bekleme süresini iki katına çıkarın ve ardından başka bir sorgu gönderin. Sorgu hatasız döndürülene kadar bekleme süresini ayarlamaya devam edin.

İsteğe bağlı olarak kullanıcı etkileşimi istekleri gönderme

Kullanıcı etkileşimi içeren API'lere yönelik istekler yalnızca talep üzerine gönderilmelidir. Bu, API isteğini başlatmak için son kullanıcının bir işlem (ör. on-click) yapmasını beklemek, ardından sonuçları kullanarak bir harita yüklemek, hedef belirlemek veya uygun bilgileri görüntülemek anlamına gelir. İsteğe bağlı yaklaşım kullanmak, API'lere gereksiz istek gönderilmesini önleyerek API tüketimini azaltır.

Harita hareket ederken yer paylaşımı içeriği göstermeyi önleme

Kullanıcı haritayı hareket ettirirken aynı anda haritada özel yer paylaşımı içeriği göstermek için Draw() kullanmaktan kaçının. Kullanıcı haritayı her taşıdığında harita yeniden çizildiğinden, haritaya aynı anda yer paylaşımlı içerik yerleştirmek gecikmeye veya görsel titremeye neden olabilir. Kullanıcı kaydırma veya yakınlaştırma işlemini durdurduktan sonra haritaya yalnızca bir kez yer paylaşımı içeriği ekleyin ya da haritadan yer paylaşımı içeriği kaldırın.

Draw yöntemlerinde yoğun işlemlerden kaçınma

Genel bir kural olarak, Draw() yönteminde performansı yoğun şekilde etkileyen çizim dışı işlemlerden kaçınmak iyi bir uygulamadır. Örneğin, Draw() yöntemi kodunuzda aşağıdakilerden kaçının:

  • Çok fazla içerik döndüren sorgular.
  • Gösterilen verilerde birçok değişiklik yapılıyor.
  • Çok sayıda Belge Nesne Modeli (DOM) öğesini değiştirme

Bu işlemler, performansın yavaşlamasına ve harita oluşturulurken gecikmeye veya görsel titremeye neden olabilir.

İşaretçiler için raster resimler kullanma

Haritada bir konumu tanımlamak için işaretçi eklerken .PNG veya .JPG biçimindeki resimler gibi raster resimleri kullanın. SVG resimlerinin oluşturulması, harita yeniden çizildiğinde gecikmeye neden olabileceğinden Ölçeklenebilir Vektör Grafiği (SVG) resimlerini kullanmaktan kaçının.

İşaretçileri optimize etme

Optimizasyon, birçok işaretçiyi tek bir statik öğe olarak oluşturarak performansı artırır. Bu özellik, çok sayıda işaretçinin gerekli olduğu durumlarda kullanışlıdır. Varsayılan olarak, işaretçinin optimize edilip edilmeyeceğine Maps JavaScript API karar verir. Çok sayıda işaretçi olduğunda Maps JavaScript API, işaretçileri optimizasyonla oluşturmaya çalışır. Tüm işaretçiler optimize edilemez. Bazı durumlarda Maps JavaScript API'nin işaretçileri optimizasyon olmadan oluşturması gerekebilir. Animasyonlu GIF'ler veya PNG'ler için ya da her işaretçinin ayrı bir DOM öğesi olarak oluşturulması gerektiğinde optimize edilmiş oluşturmayı devre dışı bırakın.

İşaretçi gösterimini yönetmek için kümeler oluşturma

Haritada konumları belirleyen işaretçilerin gösterimini yönetmek için Marker Clusterer kitaplığını kullanarak bir işaretçi kümesi oluşturun. İşaretçi Grupları kitaplığı aşağıdaki seçenekleri içerir:

  • Bir kümede birlikte gruplandırılacak işaretçi sayısını belirtmek için ızgara boyutu.
  • Kümenin görüntüleneceği maksimum yakınlaştırma düzeyini belirtmek için maksimum yakınlaştırma.
  • İşaretçi simgesi olarak kullanılacak grafik resimlerinin resim yolları.

İzleme

Bütçe oluşturma, kotaları değiştirme ve uyarı ayarlama dahil olmak üzere Google Haritalar Platformu maliyetlerinizi yönetme hakkında bilgi için Maliyetleri yönetme başlıklı makaleyi inceleyin.