Optimizasyon Rehberi

Bu kılavuzda, Google Maps 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ı önlemlerin alınması gereken proje odaklı kimlik bilgileridir. Anahtarlarınızı, gereksiz kota kullanımına ve hesabınızda beklenmedik ücretlere yol açabilecek istenmeyen kullanımlardan korumak için API Güvenliğiyle İlgili En İyi Uygulamalar'ı inceleyin.

Maps API'lere 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â desteklenmektedir ancak 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ı yönetmek için eksponansiyel geri yükleme kullanma

Uygulamalarınız kısa bir süre içinde bir API'yi çağırmak için aşırı sayıda deneme yapılması nedeniyle hata (ör. kota hataları) veriyorsa isteklerin işlenmesi için eksponansiyel geri yükleme kullanabilirsiniz. Eksponansiyel geri yükleme, 500'lü hatalar için en kullanışlı yöntemdir.

Özellikle sorgularınızın hızını ayarlayın. Kodunuzda, sorgular arasına 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 başka bir sorgu gönderin. Sorgu hatasız bir şekilde sonuç döndürene kadar bekleme süresini ayarlamaya devam edin.

İstek üzerine 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 harita yüklemek, hedef belirlemek veya uygun bilgileri göstermek anlamına gelir. İsteğe bağlı yaklaşım kullanıldığında API'lere gereksiz istekler gönderilmez ve API tüketimi azalır.

Harita hareket ederken yer paylaşımı içeriği göstermekten kaçınma

Kullanıcı haritayı hareket ettirirken harita üzerinde özel yer paylaşımı içeriği görüntülemek için Draw() kullanmaktan kaçının. Kullanıcı haritayı her hareket ettirdiğinde harita yeniden çizildiğinden, yer paylaşımı içeriğini haritaya aynı anda yerleştirmek gecikmeye veya görsel takılmaya neden olabilir. Haritaya yer paylaşımı içeriği ekleme veya kaldırma işlemini yalnızca kullanıcı kaydırma ya da yakınlaştırma yapmayı bıraktıktan sonra gerçekleştirin.

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

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

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

Bu işlemler, harita oluşturulurken performansı yavaşlatabilir ve gecikmeye veya görsel takılmalara 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 resimler kullanın. Ölçeklenebilir Vektör Grafikleri (SVG) resimleri kullanmaktan kaçının. SVG resimlerin oluşturulması, harita yeniden çizilirken gecikmeye neden olabilir.

İşaretçiler optimize ediliyor

Optimizasyon, birçok işaretçiyi tek bir statik öğe olarak oluşturarak performansı artırır. Bu, çok sayıda işaretçinin gerekli olduğu durumlarda kullanışlıdır. Varsayılan olarak, Maps JavaScript API bir işaretçinin optimize edilip edilmeyeceğine 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örüntülemeyi yönetmek için kümeler oluşturma

Haritadaki konumları tanımlamak için işaretçilerin görüntülenmesini yönetmeye yardımcı olmak amacıyla Marker Clusterer kitaplığını kullanarak bir işaretçi grubu oluşturun. İşaretçi Grupları kitaplığında aşağıdaki seçenekler bulunur:

  • Izgara boyutu: Bir kümede gruplandırılacak işaretçi sayısını belirtmek için kullanılır.
  • Maksimum yakınlaştırma: Kümenin gösterileceği maksimum yakınlaştırma seviyesini belirtir.
  • İş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 edinmek için Maliyetleri yönetme başlıklı makaleyi inceleyin.