Android için Haritalar SDK'sı aşağıdaki koordinat sistemlerini kullanır:
- üzerindeki bir noktaya referans veren enlem ve boylam değerleri benzersiz bir deneyim. (Google, Dünya Jeodezik Sistem WGS84 standardı için geçerlidir.)
- Haritadaki bir noktaya benzersiz şekilde referans veren dünya koordinatları.
- Haritadaki belirli bir piksele doğru belirli bir yakınlaştırma seviyesi.
- Haritadaki belirli bir parçaya belirli bir yakınlaştırma seviyesi.
Dünya koordinatları
API'nin dünyadaki bir konumu şuradaki bir konuma çevirmesi gerektiğinde: bir harita üzerinde çalışıyorsanız önce enlem ve boylam değerlerini dünya koordinatı. API, Mercatör projeksiyon kullanın.
Piksel koordinatlarının hesaplanmasında kolaylık sağlamak için (aşağıya bakın) yakınlaştırma düzeyi 0'daki bir haritanın, temel karo boyutundan tek bir parça olduğunu varsayarız. Daha sonra, zum sırasında piksel koordinatlarına göre dünya koordinatlarını tanımlıyoruz enlemleri ve boylamları piksel konumlarını göstereceğim. Bu dünya koordinatı, havada harita projeksiyonunun başlangıcından bitiş noktasına kadar ölçülen nokta değeri belirli bir konum. Bu değer, kayan nokta değeri olduğundan harita görüntüsünün mevcut çözünürlüğünden çok daha kesin olabilir yardımcı oluyorum. Dünya koordinatı, geçerli yakınlaştırma düzeyinden bağımsızdır. diğer bir deyişle.
Google Haritalar'daki dünya koordinatları Mercator aracından ölçülür
projeksiyonun başlangıç noktası (haritanın 180 derecelik kuzeybatı köşesi
boylam ve yaklaşık 85 derece enlem) ve
doğuya (sağa) x
yönünde ve şu yönde artış:
güneye (aşağı) doğru y
yönünde. Çünkü
temel Mercator Google Haritalar kutusu 256 x 256 pikseldir,
dünya koordinat uzayı {0-256}, {0-256}
.
Merkatör projeksiyonunun sonlu enleminde sonsuz bir yükseklikte gösterilir. YouTube'da yaklaşık olarak Mercator projeksiyonunu kullanan temel harita görüntüleri Elde edilen harita şeklini kare yapmak için +/- 85 derece daha kolay bir mantık sunuyor. Bir projeksiyonun temel haritanın kullanılabilir koordinat alanının dışındaki dünya koordinatları çok yakınlarda plan yaparsanız bunu yapabilirsiniz.
Piksel koordinatları
Piksel koordinatları, haritadaki belirli bir piksele belirli bir yakınlaştırma düzeyinin altında, dünya koordinatları tahmin edilir. Piksel koordinatları aşağıdaki şekilde hesaplanır: formül:
pixelCoordinate = worldCoordinate * 2zoomLevel
Yukarıdaki denkleme göre, artan her yakınlaştırma düzeyinin
hem x
hem de y
bölgesinde iki kat daha büyük
yol tarifleri alın. Dolayısıyla, her yüksek yakınlaştırma düzeyi dört çözünürlükle sonuçlanır.
kat daha fazladır. Örneğin, yakınlaştırma seviyesi 1 olduğunda,
Harita 256x256 piksellik 4 parçadan oluşuyor ve
daha iyi performans gösterebileceksiniz. 19 yakınlaştırma düzeyinde, her bir x
ve y
piksel
haritadaki referans için,
0 ve 256 * 219.
Dünya koordinatlarını haritanın karo boyutuna göre belirlediğimiz için, piksel koordinatının tam sayı bölümü, doğru pikseli o konumda geçerli yakınlaştırma düzeyinde ayarlanır. Yakınlaştırma seviyesi 0 için piksel koordinatları dünya koordinatlarına eşittir.
Artık haritada her konumu doğru şekilde
göstermenin bir yolu var.
görebilirsiniz. Android için Haritalar SDK'sı bir görüntü alanı oluşturur
haritanın yakınlaştırma seviyesi merkezi (LatLng
olarak) ve
içeren DOM öğesinin boyutu ve
bu sınırlayıcı kutuyu piksel koordinatlarına çevirir. API daha sonra
mantıksal olarak belirtilen piksel sınırları içinde bulunan tüm harita desenlerini açar. Her biri
bu harita parçalarına
harita görüntülenmesini büyük ölçüde basitleştiren karo koordinatları
görüntüler.
Parça koordinatları
API, daha yüksek yakınlaştırma düzeyleri için tüm harita görüntülerini aynı anda yükleyemez. Bunun yerine API, görüntüleri her yakınlaştırma düzeyinde böler. bir dizi harita deseni oluşturur. Bunlar, harita bütüncül olarak anlar. Harita yeni bir konuma veya yeni bir konuma kaydırıldığında her yakınlaştırma düzeyini seçerseniz API hangi kartların kullanır ve bu değerleri bir kümeye çevirir. karolara bakın. Bu karo koordinatları kolayca belirlediğiniz bir şema kullanarak hangi karonun görüntüler.
Google Haritalar'daki karolar kendi başlangıç noktasıyla numaralandırılır.
kullanabilirsiniz. Google'ın Mercator projeksiyonunu uygulamak için
başlangıç noktası her zaman kuzeybatı köşesindedir
olmak üzere, x
değerleri batıdan batıya doğru artmaktadır
kuzeyden güneye doğru artan doğu ve y
değerleridir. Karo
o kaynaktan x,y
koordinatları kullanılarak dizine eklenir. Örneğin,
Örneğin, 2. yakınlaştırma düzeyinde, dünya 16 parçaya bölündüğünde
her karta benzersiz bir x,y
çifti tarafından referans verilebilir:
Piksel koordinatlarını karo boyutuna (256) ve sonucun tam sayı parçalarını aldığınızda, ortaya çıkan yan ürün karo koordinatını geçerli yakınlaştırma düzeyinde değiştirir.
Örnek
Aşağıdaki örnekte Chicago, IL'nin koordinatları gösterilmektedir: enlem/boylam değerleri, dünya koordinatları, piksel koordinatları ve karo koordinatlar. Farklı noktalarda koordinat değerlerini görmek için yakınlaştırma denetimini kullanın yakınlaştırma seviyeleridir.
Koordinatların nasıl hesaplandığını görmek için göster girin.