2D Kartlara genel bakış

Avrupa Ekonomik Alanı'ndaki (AEA) geliştiriciler

Yol haritası örneğiHarita karoları, dünyanın dizine eklenmiş bir ızgaraya bölünmesinden ibarettir. Harita verilerine birden fazla kartografik ölçekte verimli ve dinamik bir şekilde erişmenizi ve bu verileri kullanmanızı sağlar. Map Tiles API, Google tarafından seçilenler de dahil olmak üzere birden fazla tematik coğrafi veri kümesine erişmenizi sağlar:

  • Google'ın haritacılık stiline sahip vektör topografik verilerine dayalı yol haritası resim karoları.

  • Dünyanın yukarıdan aşağıya (nadir) görüntülerini sunan, hem uydu hem de hava kameraları tarafından çekilen ortofotoğrafçılık.

  • Kabartma eş yükselti haritaları

2D Map Tiles'ın tümü coğrafi referanslıdır ve birbirleriyle uyumludur. Bu özellikler, görüntü alanının coğrafi kapsamına ve yakınlaştırma seviyesine göre seçilir. Yakınlaştırma seviyeleri, 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 karoları alabilirsiniz.

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

Map Tiles API'den harita karoları istemek için önce bir oturum jetonu istemeniz gerekir. Oturum jetonu, haritanızın ve görüntü 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 gönderdiğiniz 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 karolarıyla ilgili ayrıntıları döndürür. Görüntü alanı bilgilerini istemenizin nedeni, mevcut olmayan yakınlaştırma seviyelerinde 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 için bu seviyede görüntü yoktur. Çünkü bu seviyede okyanus, yalnızca özelliksiz mavi kareler olarak görünür.

Görüntü 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üntü alanının en kuzey, en güney, en doğu ve en 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) ve doğu negatif (örneğin, -170) olabilir. Tüm parametreler zorunludur.

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

Görüntü alanı yanıtı, hangi alanlarda hangi yakınlaştırma seviyelerinde görüntü olduğunu gösterir. Görüntü alanı 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ı ve uydu karolarını 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üntü alanıyla çakışan sınırlayıcı dikdörtgenlerin bir dizisini içerir. Ayrıca her dikdörtgen içinde kullanılabilen maksimum yakınlaştırma seviyesini de içerir.

Parça koordinatı işlevleri

Enlem/boylam çiftlerini belirli bir yakınlaştırma seviyesinde parça koordinatlarına dönüştürmek için çoğu programlama dilinde araçlar (basit işlevler) mevcuttur. Önce latLng değerini bir noktaya, ardından noktayı parça 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
  };
}