Optimizasyon Rehberi

Bu kılavuzda, Google Haritalar API'lerinizin kullanımını güvenlik, performans ve tüketim açısından optimize etmek için çeşitli stratejiler açıklanmaktadır.

Güvenlik

Güvenlikle ilgili en iyi uygulamaları inceleme

API anahtarları, kullanıcı kimlikleri ve şifreler ile aynı önlemleri gerektiren proje odaklı kimlik bilgileridir. Anahtarlarınızı, istenmeyen kullanıma karşı korumak için API Güvenliği En İyi Uygulamaları'nı inceleyin. İstenmeyen kullanım, gereksiz kota kullanımına ve hesabınızdan beklenmedik ödemelere neden olabilir.

Haritalar 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 kimlikleri hâlâ destekleniyor olsa da API anahtarları daha ayrıntılı güvenlik denetimlerini destekler ve belirli web adresleri, IP adresleri ve mobil SDK'larla (Android ve iOS) çalışacak şekilde ayarlanabilir. API anahtarı oluşturma ve API anahtarını güvence altına alma hakkında bilgi edinmek için her API veya SDK'nın "API Anahtarı Kullanımı" 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 fazla olmasından kaynaklanan hatalarla (ör. kota hataları) karşılaşıyorsa isteklerin işlenebilmesi için eksponansiyel geri yükleme özelliğini kullanabilirsiniz.

Eksponansiyel geri yükleme, en çok 500 hataları için yararlıdır. Daha fazla bilgi için HTTP dönüş durum kodlarını işleme başlıklı makaleyi inceleyin.

Özellikle sorgularınızın hızını ayarlayın. Sorgular arasında S saniyelik bir bekleme süresi ekleyin. Sorgu yine kota hatasıyla sonuçlanırsa bekleme süresini ikiye katlayın ve ardından başka bir sorgu gönderin. Sorgu hatasız bir şekilde döndürülene kadar bekleme süresini ayarlamaya devam edin.

Kullanıcı etkileşimi isteklerini isteğe bağlı olarak gönderme

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

Harita hareket ederken yer paylaşımı içeriğinin gösterilmesini engelleme

Kullanıcı haritayı hareket ettirirken aynı anda harita üzerinde özel yer paylaşımı içeriği görüntülemek için Draw() kullanmamaya çalışın. Kullanıcı haritayı her hareket ettirdiğinde harita yeniden çizildiğinden, haritaya aynı anda yer paylaşımı içeriği yerleştirmek gecikmeye veya görsel takılmalara neden olabilir. Haritaya yalnızca kullanıcı kaydırma veya yakınlaştırmayı durdurduktan sonra yer paylaşımı içeriği ekleyin veya 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 açısından yoğun olan ve çizim dışı 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österilen verilerde çok fazla değişiklik.
  • Birçok Belge Nesne Modeli (DOM) öğesini değiştirme

Bu işlemler performansı yavaşlatabilir ve harita oluşturulurken gecikmeye veya görsel takılmalara neden olabilir.

İşaretler için raster resimler kullanma

Harita üzerinde bir konumu tanımlamak için işaretçi eklerken .PNG veya .JPG biçimindeki resimler gibi raster resimler kullanın. SVG resimleri oluşturmak, harita yeniden çizilirken 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çi gerektiğinde kullanışlıdır. Bir işaretçinin optimize edilip edilmeyeceğine varsayılan olarak Maps JavaScript API karar verir. Çok sayıda işaretçi olduğunda Haritalar JavaScript API'si, 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 optimize oluşturmayı devre dışı bırakın ya da her işaretçi ayrı bir DOM öğesi olarak oluşturulmalıdır.

İşaretçi görüntülemeyi yönetmek için kümeler oluşturma

Haritada 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 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österileceği maksimum yakınlaştırma düzeyini belirtmek için maksimum yakınlaştırma.
  • İşaretçi simgesi olarak kullanılacak grafik resimler için 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.