Android için Haritalar SDK'sı aşağıdaki koordinat sistemlerini kullanır:
- Dünyadaki bir noktayı benzersiz şekilde referans alan enlem ve boylam değerleri. Google, World Geodetic System WGS84 standardını kullanır.
- Haritada bir noktaya benzersiz şekilde referans veren dünya koordinatları.
- Haritada belirli bir yakınlaştırma seviyesinde belirli bir piksele referans veren piksel koordinatları.
- Belirli bir yakınlaştırma seviyesinde haritadaki belirli bir parçaya referans veren parça koordinatları.
Dünya koordinatları
API, dünyadaki bir konumu haritadaki bir konuma çevirmesi gerektiğinde önce enlem ve boylam değerlerini dünya koordinatına çevirir. API, bu çeviriyi yapmak için Mercator projeksiyonunu kullanır.
Piksel koordinatlarının hesaplanması (aşağıya bakın) kolaylığı için 0 yakınlaştırma seviyesindeki bir haritanın temel parça boyutunda tek bir parça olduğunu varsayıyoruz. Ardından, enlemleri ve boylamları bu temel döşemede piksel konumlarına dönüştürmek için projeksiyonu kullanarak dünya koordinatlarını 0 yakınlaştırma düzeyindeki piksel koordinatlarına göre tanımlarız. Bu dünya koordinatı, harita projeksiyonunun başlangıcından belirli konuma kadar ölçülen kayan nokta değeridir. Bu değer bir kayan nokta değeri olduğundan, gösterilen harita resminin mevcut çözünürlüğünden çok daha hassas olabileceğini unutmayın. Diğer 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 (180 derece boylam ve yaklaşık 85 derece enlemde bulunan haritanın kuzeybatı köşesi) ölçülür. Bu koordinatlar, doğuya (sağa) doğru x yönünde ve güneye (aşağı) doğru y yönünde artar. Temel Mercator Google Haritalar kutucuğu 256 x 256 piksel olduğundan kullanılabilir dünya koordinat alanı {0-256}, {0-256}'dır.
![]()
Mercator projeksiyonunun boylamasına sınırlı bir genişliğe, enlemesine ise sınırsız bir yüksekliğe sahip olduğunu unutmayın. Sonuçta elde edilen harita şeklinin kare olması için Mercator projeksiyonunu kullanarak temel harita görüntülerini yaklaşık +/- 85 derecede keseriz. Bu sayede, döşeme seçimi için daha kolay bir mantık uygulanabilir. Örneğin, kutuplara çok yakın bir noktayı çiziyorsanız projeksiyonun, temel haritanın kullanılabilir koordinat alanı dışında dünya koordinatları üretebileceğini unutmayın.
Piksel koordinatları
Piksel koordinatları, belirli bir yakınlaştırma düzeyinde haritadaki belirli bir piksele referans verirken 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 düzeyinin hem x hem de y yönünde iki kat daha büyük olduğunu unutmayın. Bu nedenle, her yüksek yakınlaştırma seviyesi, önceki seviyeye göre dört kat daha yüksek çözünürlük sağlar. Örneğin, 1. yakınlaştırma seviyesinde harita 4 adet 256x256 piksel boyutlu parçadan oluşur ve 512x512 piksel boyutlu bir piksel alanı elde edilir. 19. yakınlaştırma seviyesinde, haritadaki her x ve y piksele 0 ile 256 * 219 arasında bir değer kullanılarak başvurulabilir.
Dünya koordinatlarını haritanın döşeme boyutuna göre belirlediğimiz için, bir piksel koordinatının tam sayı kısmı, geçerli yakınlaştırma seviyesinde o konumdaki tam pikseli tanımlama etkisine sahiptir. Yakınlaştırma düzeyi 0 olduğunda 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. Android için Haritalar SDK'sı, yakınlaştırma seviyesine, haritanın merkezine (LatLng olarak) ve kapsayan DOM öğesinin boyutuna göre bir görüntü alanı oluşturur ve bu sınırlayıcı kutuyu piksel koordinatlarına çevirir. API daha sonra, verilen piksel sınırları içinde kalan tüm harita döşemelerini 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österilmesini büyük ölçüde basitleştirir.
Parça koordinatları
API, daha yüksek yakınlaştırma düzeylerinde tüm harita görüntülerini aynı anda yükleyemez. Bunun yerine, her yakınlaştırma seviyesindeki görüntüleri, uygulamanızın kullanabileceği bir sırada mantıksal olarak düzenlenmiş bir dizi harita kutucuğuna böler. Bir harita yeni bir konuma veya yeni bir yakınlaştırma seviyesine kaydırıldığında API, piksel koordinatlarını kullanarak hangi parçaların gerektiğini belirler ve ardından bu değerleri alınacak bir parça grubuna dönüştürür. Bu parça koordinatları, belirli bir noktadaki görüntülerin hangi parçada bulunduğunu kolayca belirlemeyi sağlayan bir şema kullanılarak atanır.
Google Haritalar'daki döşemeler, piksellerle aynı başlangıç noktasından numaralandırılır. Google'ın Mercator projeksiyonu uygulamasında, başlangıç kutusu her zaman haritanın kuzeybatı köşesindedir. x değerleri batıdan doğuya, y değerleri ise kuzeyden güneye doğru artar. Döşemeler, x,y koordinatları kullanılarak dizine eklenir. Örneğin, 2. yakınlaştırma seviyesinde dünya 16 parçaya bölündüğünde her parça benzersiz bir x,y çiftiyle referans alınabilir:

Piksel koordinatlarını karo boyutuna (256) bölüp sonucun tam sayı kısımlarını alarak mevcut yakınlaştırma seviyesindeki karo koordinatını elde edeceğinizi unutmayın.
Örnek
Aşağıdaki örnekte, Chicago, IL için koordinatlar (enlem/boylam değerleri, dünya koordinatları, piksel koordinatları ve döşeme koordinatları) gösterilmektedir. Çeşitli yakınlaştırma seviyelerinde koordinat değerlerini görmek için yakınlaştırma denetimini kullanın.
Koordinatların nasıl hesaplandığını görmek için kodu görüntüleyin.