2D Kartlara genel bakış

Yol haritası örneğiHarita bölümleri, dünyanın dizine eklenmiş bir ızgaraya bölünmesiyle elde edilir. Bu API, harita verilerine birden fazla kartografik ölçekte verimli ve dinamik bir şekilde erişmenize ve bunları kullanmanıza olanak tanır. Map Tiles API, Google tarafından seçilen aşağıdakiler de dahil olmak üzere birden fazla tematik coğrafi veri kümesine erişmenizi sağlar:

  • Google'ın haritacılık stiliyle vektör topoğrafik verilerini temel alan yol haritası resim blokları.

  • Hem uydu hem de hava kameralarıyla yakalanan ve yeryüzünün kuş bakışı (nadir) görüntüleriyle çekilen ortofotoğrafçılık.

  • Tepe gölgeleri kontur haritaları.

2D harita parçalarının tümü coğrafi başvurulara sahip ve birbirleri ile hizalanıyor. Bunlar, görünümün coğrafi kapsamına ve yakınlaştırma düzeyine göre seçilir. Yakınlaştırma seviyeleri sıfırdan (dünyayı bütünüyle görmek için) ile 22 (sokakları ve blokları görüntülemek için) arasında değişir.

Harita temaları

Aşağıda belirtilen harita temalarına uygun harita desenleri 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 kontur haritası

Map Tiles API'den harita desenleri istemek için bir oturum jetonu istemeniz gerekir. Oturum jetonu, haritanızın ve görüntü alanınızın mevcut durumunu izler. Oturum jetonunuzu oluştururken, istediğiniz harita temasıyla eşleşmesi için mapType değerini ayarlamanız gerekir. Ardından, Map Tiles API'ye yaptığınız isteklerin her birine oturum jetonunu eklemeniz gerekir.

Görüntü alanı bilgisi istekleri

Görüntü alanı, dünya sahnesini çerçeveleyen kutunun boyutunu tanımlar. Görünüm bilgisi istekleri, geçerli görüntü alanınızı oluşturan harita bölümleri hakkında ayrıntılı bilgi döndürür. Görüntü alanı bilgilerini istemenizin nedeni, var olmayan yakınlaştırma düzeylerinde görüntü istemekten kaçınmanızı sağlamaktır.

Örneğin, çoğu şehirde zum düzeyi 22'de olan görüntüler vardır, ancak sonuçta özelliksiz mavi kareler gösterileceği için okyanus için böyle bir durum söz konusu değildir.

Görüntü alanı isteği, aşağıdaki biçimdeki 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 düzeyi.
north, south, east, west
Görüntü alanının en uzak kuzey, güney, doğu ve batı noktaları (derece cinsinden belirtilir). Kuzey ve güney (-90,90), doğu ve batı ise (-180, 180) aralığında olmalıdır. Antimeridyeyi aşan sınırları ifade etmek için batı pozitif (ör. 170) ve doğu negatif (ör. -170) olabilir. Tüm parametreler gereklidir.

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

Görüntü alanı yanıtı, hangi bölgelerde ve hangi yakınlaştırma seviyelerinde görüntülerin bulunduğunu size bildirir. Görünüm bilgileri yanıtı aşağıdaki biçimdedir.

{
  "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övdesi aşağıdaki alanları içerir.

copyright
Yol haritasını ve uydu görüntülerini gösterdiğinizde haritanızda göstermeniz gereken bir atıf dizesi içerir. Daha fazla bilgi için Map Tiles API Politikaları'na bakın.
maxZoomRect
Mevcut görüntü alanıyla çakışan bir sınırlayıcı dikdörtgenler dizisi içerir. Ayrıca, her dikdörtgen içinde kullanılabilecek maksimum yakınlaştırma düzeyini de içerir.

Parça koordinatı fonksiyonları

Çoğu programlama dilinde, enlem/boylam çiftlerinden belirli bir yakınlaştırma düzeyindeki parça koordinatlarına dönüştürmenizi sağlayan araçlar (basit işlevler) mevcuttur. Önce bir latLng noktasından bir noktaya ve daha sonra bir noktadan parça koordinatlarına dönüştüren aşağıdaki JavaScript kodu örneğini düşünün.

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
  };
}