Street View Kutuları

Street View örneğiStreet View parçaları, sokak seviyesinde çekilen panoramik görüntüler içermesi dışında 2D parçalara benzer. Street View sayesinde dünyanın önemli noktaları ile doğa harikalarını keşfedebilir ve müze, meydan, restoran veya küçük işletmeler gibi yerleri ziyaret edebilirsiniz. Bu API uç noktası şunlara erişmenizi sağlar:

  • Google Haritalar Street View Karoları
  • Street View meta verileri
  • Street View küçük resimleri

Sokak düzeyinden alınan resim karolarını birleştirip gerçek hayattan bir panoramik efekt oluşturabilirsiniz. Ayrıca, bir konum grubu (rota gibi) için 100'e kadar panorama kimliği sorgulayabilir ve kamera konumu hakkında daha ayrıntılı meta veriler elde edebilirsiniz.

Street View parçalarının bir araya getirilmesi için izleyicinin gerekli işlemler yapması gerekir. Örneğin, Street View özel panorama görüntüleyicisi.

API anahtarınız olduktan sonra aşağıdaki adımları uygulayarak Street View görüntülerine erişebilirsiniz.

  1. Oturum jetonu alın. mapType değerini streetview olarak ayarladığınızdan emin olun.

  2. Bir veya daha fazla coğrafi konumun panorama tanımlayıcısını (panoId) almak için oturum jetonunu kullanın.

  3. Aşağıdakileri almak için panoId arama yanıtındaki panorama tanımlayıcılarını kullanın:

    1. Street View meta verileri. Ayrıca bir koordinat grubu ve yarıçap göndererek Street View meta verilerini de alabilirsiniz.

    2. Street View küçük resimleri.

    3. Street View Parçaları.

Street View yöntemleri

Aşağıdaki dört yöntemden birini kullanarak Street View görüntülerine ve meta verilerine erişebilirsiniz.

Yöntem Açıklama
https://tile.googleapis.com/v1/streetview/tiles Tek tek Street View Karolarını döndürür. Street View karolarını altı yakınlaştırma düzeyinde alabilirsiniz: 512 piksel ile 13.312 piksel arasında.
https://tile.googleapis.com/v1/streetview/panoIds 100'e kadar konum için toplu arama yapmanıza olanak tanır. Görüntü içeren tüm konumların panorama kimliklerini döndürür.
https://tile.googleapis.com/v1/streetview/thumbnail Bir Street View sahnesinin küçük resmini döndürür. Başlık, eğim, boyutlar ve görüş alanı sağlamanıza olanak tanır. Minimum boyutlar 16x16 pikseldir. Maksimum boyut 250x600 pikseldir.
https://tile.googleapis.com/v1/streetview/metadata Belirtilen panoramayla ilgili ayrıntılı bilgi sağlar. Ayrıntılar arasında ilgili adres ve bitişik panoramaların bağlantıları yer alır.

Bir veya daha fazla coğrafi konumun panorama tanımlayıcısını, koordinatlarını (lat, lng) panoIds yöntemine ileterek bulabilirsiniz. İstek gövdesi, aşağıdaki JSON kodu örneğinde gösterildiği gibi bir locations dizisi ve isteğe bağlı olarak bir radius içeren bir JSON nesnesi.

curl -X POST -d '{
  "locations": [
    {"lat": -33.883837, "lng": 151.209307},
    {"lat": -33.883700, "lng": 151.210307},
    {"lat": 0, "lng": 0}
  ],
  "radius": 50
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY"
locations
locations dizisi en az bir koordinat değeri grubu içermelidir ancak en fazla 100 tane daha ekleyebilirsiniz.
radius
radius değeri (metre cinsinden ölçülür), belirtilen konumun çevresindeki çemberin yarıçapını tanımlar. Bu değerde panorama aranır. Varsayılan değer 50 metredir.

PanoId yanıtı

Harita Karoları API'si, her konuma en yakın panoramayı bulmaya çalışır ve ardından panorama kimliklerini döndürür. Başarılı bir panoIds isteği, panoIds dizisi içeren bir JSON nesnesi döndürür. Dizi, istediğiniz sırayla panorama kimliklerinin listesini içerir. Harita Karoları API'si, istediğiniz konumlar için panorama bulamazsa dizindeki ilgili konumda boş bir dize döndürülür. Örnek için aşağıdaki JSON koduna bakın.

{
  "panoIds": [
    "ACfH-n2HcBvRry_3oc9grw",
    "f5DJZatBAAAXHlooS2wKbw",
    ""
  ]
}

panoIds'ü şu amaçlarla kullanabilirsiniz:

Street View meta verileri

Street View meta veri istekleri, panoramalar hakkında bilgi getirir. Street View meta veri isteği, HTTPS GET isteğidir. Panoramalarla ilgili bilgileri iki şekilde alabilirsiniz:

  • pano_id gönderirseniz Map Tiles API, ilgili panoramanın meta verilerini döndürür.

  • Ancak lat ve lng parametrelerini gönderirseniz Map Tiles API, belirtilen arama yarıçapı içindeki en yakın panoramanın meta verilerini döndürür.

Bir koordinat grubu ve yarıçapı iletme

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=lat&lng=lng&radius=meters"

Panorama kimlikleri geçici olduğundan ilk Street View meta veri isteğinizde bir koordinat grubu ve radius değeri iletmenizi öneririz. Örnek için aşağıdaki kod snippet'ine bakın.

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=47.62066&lng=-122.34923&radius=50"

Bir Street View görüntüsünün panoId'sini iletin

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

Meta veri yanıtı

Aşağıdaki JSON kodu tipik bir meta veri yanıtı örneğidir.

{
 "panoId": "rZ9KeTyhA11i0VppYNzsSg",
 "lat": 37.420864219339165,
 "lng": -122.08446528377291,
 "imageHeight": 6656,
 "imageWidth": 13312,
 "tileHeight": 512,
 "tileWidth": 512,
 "heading": 94.35,
 "tilt": 88.39652,
 "roll": 1.7181772,
 "imageryType": "outdoor",
 "date": "2023-01",
 "copyright": "© 2023 Google",
 "reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
 "addressComponents": [
  {
   "longName": "United States",
   "shortName": "United States",
   "types": [
    "country"
   ]
  },
  {
   "longName": "Mountain View, California",
   "shortName": "Mountain View, California",
   "types": [
    "locality"
   ]
  },
  {
   "longName": "Charleston Rd",
   "shortName": "Charleston Rd",
   "types": [
    "route"
   ]
  },
  {
   "longName": "1635",
   "shortName": "1635",
   "types": [
    "street_number"
   ]
  }
 ],
 "links": [
  {
   "panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
   "heading": 274.47998046875,
   "text": "Charleston Rd"
  },
  {
   "panoId": "1cODYwFRw1aZ45IignDIMw",
   "heading": 94.47999572753906,
   "text": "Charleston Rd"
  }
 ]
}

Aşağıdaki liste, yanıt gövdesindeki alanların tanımlarını içerir.

panoId
Bu panoramanın benzersiz kimliği. Panorama kimliklerinin tek bir kullanıcı oturumundan daha uzun süre geçerli olmasına güvenmemelisiniz.
lat, lng
Panoramanın koordinatları (enlem ve boylam). Konum, en yakın panoramaya kenetlendiği için bu değerler istekte ilettiğiniz koordinatlardan farklı olabilir.
imageHeight, imageWidth
Birleştirilmiş panorama resminin boyutları.
tileHeight, tileWidth
Tek bir panorama karosunun boyutları.
heading
Kuzeyden saat yönünde derece cinsinden ölçülen pusula yönü. Başlıklar [0,360] aralığında döndürülür. 0 değeri kuzeyi gösterir.
tilt
Panoramanın eğiminin, panoramanın güney kutbundan ufuğa kadar olan derece cinsinden değeri. Döndürülen değerler [0, 180] aralığındadır. 90 derecelik bir değer, ufkun panoramanın ekvatorunda zaten hizalandığını gösterir.
roll
Ufku hizalamak için panoramaya uygulanan görüş çizgisi etrafında saat yönünde dönme. Döndürülen değerler [0, 360] aralığındadır.
imageryType
Resmin türünü belirtir. Geçerli değerler indoor ve outdoor'dir.
date
Resmin çekildiği tarih. Tüm resimlerde tarih verileri yoktur. Ancak mevcut olduğunda bu alan yıl (YYYY) ve ay (AA) kombinasyonunu içerir. Örneğin: 2023-05 veya 2024.
copyright
Street View resmiyle birlikte atıf olarak göstermeniz gereken telif hakkı metni.
reportProblemLink
Kullanıcılarınızın bu Street View karosuyla ilgili sorunları bildirmek için kullanacağı köprü bağlantısı. Bu köprüyü resmin sağ alt köşesinde göstermeniz ve "Bu resimle ilgili bir sorun bildir" gibi bir bağlantı metni eklemeniz gerekir.
addressComponent
Panoramanın adresiyle ilgili ayrıntıları içeren yapılandırılmış bir coğrafi kod. Daha fazla bilgi için Geocoding API belgelerinin Coğrafi kodlama istekleri ve yanıtları bölümünü inceleyin.
links
Bu panoramaya bağlantı veren panorama kimliklerinin listesi. Ayrıca, bağlantının bulunduğu başlığı da içerir. Örneğin, yön 180° ise bağlı panorama, mevcut panoramanın tam güneyindedir. Panorama kimliklerinin geçici yapısı nedeniyle, tek bir kullanıcı oturumundan daha fazlası için bu kimlikleri kullanmamanız gerektiğini unutmayın.

Street View küçük resimleri

thumbnail biçiminde Street View görüntüleri isteyebilirsiniz. Küçük resimler, kullanıcı tanımlı boyut, başlık, eğim ve görüş alanına sahip, karo olmayan resimlerdir. Küçük resimler, karolara kıyasla daha düşük çözünürlükte ve daha küçük dosya boyutundadır. Aşağıdaki kod prototipinde gösterildiği gibi, thumbnail uç noktasına bir GET isteği göndererek küçük resim isteği gönderirsiniz.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId&height=FROM_16_TO_250&width=FROM_16_TO_600&pitch=FROM-90_TO_90&yaw=FROM-360_TO_360&fov=FROM_30_TO_120"

Aşağıdaki kod örneğine bakalım. Bu örnekte, Kanada'nın Whistler şehrinde çekilmiş Street View görüntülerinin küçük resmini indirir.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=Zzl28rqGJgaL2IdkUleP8A&height=200&width=200&pitch=0&yaw=250&fov=80" --output /tmp/example_thumbnail.png

Kanada, Whistler'ın Street View küçük resmi

Gerekli parametreler

panoId
İstediğiniz küçük resmin benzersiz kimliği. Panorama kimliği değerlerini panoIds uç noktasından veya metadata uç noktasından alabilirsiniz. Her ikisi de coğrafi koordinatları kabul eder ve uygun panoId değerini döndürür.
session
Geçerli bir oturum jetonu.
key
API anahtarınız.

İsteğe bağlı parametreler

height
Küçük resmin piksel cinsinden yüksekliğini belirtir. Bu değer 16 ile 250 piksel arasında olabilir. Yükseklik belirtmezseniz yükseklik varsayılan olarak izin verilen maksimum değer olan 250 piksel olur. Aralık dışında bir değer belirtirseniz küçük resim, en yakın geçerli değere tutturulur.
width
Küçük resmin piksel cinsinden genişliğini belirtir. Bu değer 16 ile 600 piksel arasında olabilir. Genişlik belirtilmezse genişlik varsayılan olarak izin verilen maksimum değer olan 600 piksele ayarlanır. Aralık dışında bir değer belirtirseniz küçük resim, en yakın geçerli değere sabitlenir.
pitch
Kameranın dikey eksendeki açısını belirtir. Geçerli değerler -90 ile 90 (dahil) aralığındadır. Varsayılan değer 0'dır.
yaw
Kameranın yatay eksendeki yönünü belirtir. Geçerli değerler -360 - 360 (dahil) aralığındadır. Varsayılan değer 0'dır.
fov
Yatay görüş alanını derece cinsinden belirtir. Maksimum değer 120'dir. Belirli bir boyuttaki Street View resminde olduğu gibi sabit boyutlu bir görüntü alanıyla çalışırken görüş alanı yakınlaştırmayı temsil eder. Küçük değerler ise daha yüksek bir yakınlaştırma düzeyini belirtir. Varsayılan değer 90'dır.

Street View resim karoları

panoId aldıktan sonra Street View resim parçası isteğinde bulunabilirsiniz. Parça istekleri, HTTPS GET istekleridir. Aşağıdaki örneği inceleyin.

curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

Bu kod örneğinde z yakınlaştırma seviyesi, x ve y ise istediğiniz Street View karosunun karot koordinatlarıdır. Street View panoramalarındaki yakınlaştırma seviyeleri [0,5] aralığında olmalıdır. 0, en geniş görüş alanını temsil eder.

Yakınlaştırma Düzeyi Yaklaşık Görüş Alanı
0 360°
1 180°
2 90°
3 45°
4 22,5°
5 11,25°

Street View Parçaları yanıtları

Başarılı bir Street View karo isteği, createSession yanıtınızda belirttiğiniz biçim ve boyutta bir resmi döndürür.

Başarılı bir Kart isteği sonucu

Sıfır yakınlaştırma düzeyinde, panoramanın tamamı tileWidthxtileHeight boyutlarında bir karoya yeniden boyutlandırılır. Panoramalar x boyutunda daha büyük olduğundan karo, y boyutunda boş alan içerir:

Sıfır yakınlaştırma düzeyi

Beş yakınlaştırma düzeyinde tam boyutlu panorama kullanılır ve karolara bölünür.

Her Street View panoramasında telif hakkı bilgilerini göstermeniz gerekir. Gösterilecek dize panoramalar arasında değişiklik gösterebilir. Telif hakkı bilgilerini almak için Street View meta verileri isteğinde bulunmanız gerekir. Ardından yanıtın copyright alanına bakabilirsiniz. Daha fazla bilgi için Veri ilişkilendirmeleri bölümüne bakın.