Harita ve Fayans Koordinatları

Platform seçin: Android iOS JavaScript

iOS 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. iOS 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:

Dört satır ve dört karo sütununa bölünmüş dünya haritası.

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.