2D Kartlara genel bakış

Avrupa Ekonomik Alanı (AEA) geliştiricileri

Yol haritası örneğiMap Tiles, dünyanın indekslenmiş bir ızgaraya bölünmesidir. Bu sayede, harita verilerine birden fazla kartografik ölçekte verimli ve dinamik bir şekilde erişip bunları kullanabilirsiniz. Map Tiles API, Google tarafından derlenenler de dahil olmak üzere birden fazla tematik coğrafi veri kümesine erişmenizi sağlar:

  • Google'ın kartografik stiline sahip vektörel topografik verilere dayalı yol haritası resim döşemeleri.

  • Hem uydu hem de havadan çekilen kameralarla elde edilen ortofotoğraflar, yeryüzünün yukarıdan aşağıya (nadir) görüntülerini sunar.

  • Eğim gölgesi kontur haritaları.

2D Map Tiles'ın tümü coğrafi olarak referanslandırılmıştır ve birbirleriyle hizalanmıştır. Görüntü alanının coğrafi kapsamına ve yakınlaştırma seviyesine göre seçilirler. Yakınlaştırma düzeyleri, sıfır (dünyanın tamamını görüntülemek için) ile 22 (sokakları ve blokları görüntülemek için) arasında değişir.

Harita temaları

Aşağıdaki harita temaları için harita döşemeleri alabilirsiniz.

Harita teması Açıklama
Yol haritası Yollar, binalar, önemli yerler ve siyasi sınırlar
Uydu Uzaydan çekilen fotoğraf görüntüleri
Arazi Bitki örtüsü gibi doğal özellikleri gösteren bir eşyükselti eğrileri haritası

Map Tiles API'den harita döşemeleri istemek için önce oturum jetonu istemeniz gerekir. Oturum jetonu, haritanızın ve görünüm alanınızın mevcut durumunu izler. Oturum jetonunuzu ayarlarken mapType değerini istediğiniz harita temasıyla eşleşecek şekilde ayarlamanız gerekir. Ardından, Map Tiles API'ye yaptığınız her isteğe oturum jetonunu eklemeniz gerekir.

Görüntü alanı bilgi istekleri

Görüntü alanı, dünya sahnesini çerçeveleyen kutunun boyutunu tanımlar. Görüntü alanı bilgi istekleri, mevcut görüntü alanınızı oluşturan harita döşemeleriyle ilgili ayrıntıları döndürür. Görüntü alanı bilgilerini istemenizin nedeni, mevcut olmayan yakınlaştırma düzeylerinde görüntü istemekten kaçınmaktır.

Örneğin, çoğu şehirde 22. yakınlaştırma seviyesinde görüntüler bulunur ancak okyanus bu seviyede görüntülenemez çünkü yalnızca mavi kareler gösterilir.

Görünüm alanı isteği, aşağıdaki biçimde bir HTTPS GET isteğidir.

curl "https://tile.googleapis.com/tile/v1/viewport?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&zoom=zoom&north=north&south=south&east=east&west=west"

İstek aşağıdaki alanları içerir:

zoom
Görüntü alanının yakınlaştırma seviyesi.
north, south, east, west
Görünüm alanındaki en kuzey, güney, doğu ve batı noktaları derece cinsinden ifade edilir. Kuzey ve güney (-90,90) aralığında, doğu ve batı ise (-180, 180) aralığında olmalıdır. Antimeridyeni geçen sınırları ifade etmek için batı pozitif (örneğin, 170), doğu ise negatif (örneğin, -170) olabilir. Tüm parametreler zorunludur.

Görüntü alanı bilgisi yanıtları

Görüntü alanı yanıtı, hangi alanlarda görüntü olduğunu ve hangi yakınlaştırma düzeylerinde görüntü bulunduğunu gösterir. Bir görünüm alanı bilgisi yanıtı aşağıdaki biçime sahiptir.

{
  "copyright": "Map data ©2023",
  "maxZoomRects": [
    {
      "maxZoom": 19,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 9,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 14,
      "north": 84.375,
      "south": -84.375,
      "east": 180,
      "west": -180
    }, ...
  ]
}

Yanıt gövdesinde aşağıdaki alanlar bulunur.

copyright
Yol haritası ve uydu döşemelerini gösterirken haritanızda göstermeniz gereken bir ilişkilendirme dizesi içerir. Daha fazla bilgi için Map Tiles API Politikaları'na bakın.
maxZoomRect
Mevcut görünüm penceresiyle çakışan sınırlayıcı dikdörtgenler dizisini içerir. Ayrıca, her dikdörtgen içinde kullanılabilen maksimum yakınlaştırma seviyesini de içerir.

Döşeme koordinatı işlevleri

Enlem/boylam çiftlerinden belirli bir yakınlaştırma seviyesinde parça koordinatlarına dönüştürme için çoğu programlama dilinde araçlar (basit işlevler) mevcuttur. Önce latLng öğesinden noktaya, ardından noktadan karo koordinatlarına dönüştüren aşağıdaki JavaScript kodu örneğini inceleyin.

var TILE_SIZE = 256;

function fromLatLngToPoint(latLng) {
  var mercator = -Math.log(Math.tan((0.25 + latLng.lat() / 360) * Math.PI));
  return {
    x: TILE_SIZE * (latLng.lng() / 360 + 0.5),
    y: TILE_SIZE / 2 * (1 +  mercator / Math.PI)
  };
}

function fromLatLngToTileCoord(latLng, zoom) {
  var point = fromLatLngToPoint(latLng);
  var scale = Math.pow(2, zoom);

  return {
    x: Math.floor(point.x * scale / TILE_SIZE),
    y: Math.floor(point.y * scale / TILE_SIZE),
    z: zoom
  };
}