Maps JavaScript API aşağıdaki koordinat sistemlerini kullanır:
- Dünya üzerindeki bir noktayı benzersiz şekilde referans alan enlem ve boylam değerleri. Google, Dünya Jeodezi Sistemi WGS84 standardını kullanır.
- Haritadaki bir noktayı benzersiz şekilde referans alan dünya koordinatları.
- Belirli bir yakınlaştırma seviyesinde haritadaki belirli bir pikseli referans alan piksel koordinatları.
- Haritadaki belirli bir parçayı belirli bir yakınlaştırma seviyesinde referans alan parça koordinatları.
Dünya koordinatları
API'nin dünyadaki bir konumu haritadaki bir konuma çevirmesi gerektiğinde, önce enlem ve boylam değerlerini bir dünya koordinatına çevirir. API, bu çeviriyi gerçekleştirmek için Mercator projeksiyonunu kullanır.
Piksel koordinatlarının hesaplanmasında kolaylık sağlamak için (aşağıya bakın) yakınlaştırma seviyesi 0 olan bir haritanın, temel karo boyutunda tek bir karo olduğunu varsayıyoruz. Ardından, enlem ve boylamları bu temel karodaki piksel konumlarına dönüştürmek için projeksiyonu kullanarak dünya koordinatlarını 0 yakınlaştırma seviyesindeki piksel koordinatlarına göre tanımlarız. Bu dünya koordinatı, harita projeksiyonunun başlangıç noktasından belirli konuma kadar ölçülen bir kayan nokta değeridir. Bu değer bir kayan nokta değeri olduğundan, gösterilen harita görüntüsünün mevcut çözünürlüğünden çok daha hassas olabileceğini unutmayın. Başka bir deyişle, dünya koordinatı mevcut yakınlaştırma seviyesinden bağımsızdır.
Google Haritalar'daki dünya koordinatları, Mercator projeksiyonunun başlangıç noktasından (haritanın 180 derece boylam ve yaklaşık 85 derece enlemdeki kuzeybatı köşesi) ölçülür ve doğuya (sağa) doğru x yönünde, güneye (aşağıya) doğru y yönünde artar. Temel Mercator Google Haritalar karosu 256 x 256 piksel olduğundan kullanılabilir dünya koordinat alanı {0-256}, {0-256} olur.
![]()
Mercator projeksiyonunun boylam olarak sonlu bir genişliğe, enlem olarak ise sonsuz bir yüksekliğe sahip olduğunu unutmayın. Mercator projeksiyonunu kullanan temel harita görüntülerini yaklaşık +/- 85 derecede keserek haritayı kare şekline getiririz. Bu sayede karo seçimi için daha kolay bir mantık elde edilir. Örneğin, kutuplara çok yakın bir noktayı işaretlerseniz projeksiyonun, temel haritanın kullanılabilir koordinat alanının dışında dünya koordinatları üretebileceğini unutmayın.
Piksel koordinatları
Piksel koordinatları, belirli bir yakınlaştırma seviyesinde haritadaki belirli bir pikseli referans alırken dünya koordinatları, belirli bir projeksiyondaki mutlak konumları yansıtır. Piksel koordinatları aşağıdaki formül kullanılarak hesaplanır:
pixelCoordinate = worldCoordinate * 2zoomLevel
Yukarıdaki denklemden, her artan yakınlaştırma seviyesinin hem x hem de y yönünde iki kat daha büyük olduğunu görebilirsiniz. Bu nedenle, her bir üst yakınlaştırma seviyesi, önceki seviyeden dört kat daha yüksek bir çözünürlük sağlar. Örneğin, 1 yakınlaştırma seviyesinde harita 4 adet 256x256 piksellik karodan oluşur ve 512x512 piksellik bir alan elde edilir. 19. yakınlaştırma seviyesinde, haritadaki her x ve y piksel, 0 ile 256 * 219 arasında bir değer kullanılarak referans alınabilir.
Dünya koordinatlarını haritanın karo boyutuna dayandırdığımız için piksel koordinatının tam sayı kısmı, geçerli yakınlaştırma seviyesinde o konumdaki tam pikseli tanımlama etkisine sahiptir. 0 yakınlaştırma seviyesi için piksel koordinatlarının dünya koordinatlarına eşit olduğunu unutmayın.
Bu koordinat sistemleri, haritadaki her konumu her yakınlaştırma seviyesinde doğru şekilde gösterir. Maps JavaScript API, yakınlaştırma seviyesi, LatLng olarak haritanın merkezi ve kapsayıcı DOM öğesinin boyutuna göre bir görüntü alanı oluşturur ve bu sınırlayıcı kutuyu piksel koordinatlarına dönüştürür. Ardından API, belirtilen piksel sınırları içinde yer alan tüm harita karolarını mantıksal olarak belirler. Bu harita parçalarının her birine parça koordinatlarını kullanarak referans verirsiniz. Bu koordinatlar, harita görüntülerinin gösterimini büyük ölçüde basitleştirir.
Parça koordinatları
API, daha yüksek yakınlaştırma seviyeleri için tüm harita görüntülerini tek seferde yükleyemez. Bunun yerine, her yakınlaştırma seviyesindeki görüntüleri, uygulamanızın kullanabileceği bir düzende mantıksal olarak düzenlenmiş bir dizi harita karosuna böler. Harita yeni bir konuma veya yeni bir yakınlaştırma seviyesine kaydırıldığında API, piksel koordinatlarını kullanarak hangi karolara ihtiyacı olduğunu belirler ve ardından bu değerleri alınacak bir karo grubuna dönüştürür. Bu parça koordinatlarını, belirli bir noktanın görüntülerini içeren parçayı belirlemeyi kolaylaştıran bir şema kullanarak atar.
Google Haritalar'daki karolar, piksellerle aynı başlangıç noktasından numaralandırılır. Google'ın Mercator projeksiyonu uygulamasında, başlangıç karosu her zaman haritanın kuzeybatı köşesindedir. x değerleri batıdan doğuya, y değerleri ise kuzeyden güneye doğru artar. Karolar, bu başlangıç noktasından itibaren x,y koordinatları kullanılarak dizine eklenir. Örneğin, dünya 16 karoya bölündüğünde 2. yakınlaştırma seviyesinde her karo, benzersiz bir x,y çiftiyle referans alınabilir:

Piksel koordinatlarını parça boyutuna (256) bölüp sonucun tam sayı kısımlarını alarak geçerli yakınlaştırma seviyesindeki parça koordinatını yan ürün olarak ürettiğinizi unutmayın.
Örnek
Aşağıdaki örnekte Chicago, Illinois'in koordinatları gösterilmektedir: enlem/boylam değerleri, dünya koordinatları, piksel koordinatları ve parça koordinatları. Koordinat değerlerini çeşitli yakınlaştırma seviyelerinde görmek için yakınlaştırma kontrolünü kullanın.
Koordinatların nasıl hesaplandığını görmek için kodu görüntüleyin.