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ı şunları sunar:

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

Gerçekçi bir panoramik efekt oluşturmak için sokak seviyesinden çekilen resim karolarını bir araya getirebilirsiniz. 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 Ayrı Street View parçaları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 koordinatlarını (lat, lng) panoIds yöntemine ileterek bu konumların panorama tanımlayıcısını 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), panorama aranacak belirli konumun etrafındaki dairenin yarıçapını tanımlar. 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ıradaki panorama kimliklerinin listesini içerir. Harita Karoları API'si, istediğiniz konumlar için panorama bulamıyorsa 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, panoramalarla ilgili bilgileri alır. 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 resminin panoId değerini iletme

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ına örnektir.

{
 "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 listede, yanıt gövdesinde bulunan alanların tanımları yer almaktadır.

panoId
Bu panoramanın benzersiz kimliği. Panorama kimliklerinin tek bir kullanıcı oturumundan daha uzun süre geçerli olacağını varsaymayın.
lat, lng
Panoramanın koordinatları (enlem ve boylam). Konum en yakın panoramaya sabitlendiğinden bu değerler, istekte belirttiğ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 düzleştirmek için panoramaya uygulanan görüş hattı 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
Sokak Görünümü resmiyle birlikte ilişkilendirme 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. 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 kimliklere güvenmemeniz 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"

Kanada'nın Whistler kentinde çekilen Street View görüntülerinin küçük resmini indiren aşağıdaki kod örneğini inceleyin.

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 sabitlenir.
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 ile 360 aralığındadır (bu değerler dahil). Varsayılan değer 0'dır.
fov
Yatay görüş alanını derece cinsinden belirtir. Maksimum değer 120'dir. Sabit boyutlu bir görüntü alanında (ör. belirli boyuttaki bir Street View resmi) görüş alanı, yakınlaştırmayı temsil eder. Bu durumda, daha küçük değerler daha yüksek bir yakınlaştırma düzeyini belirtir. Varsayılan değer 90'dır.

Street View resim parçaları

panoId aldıktan sonra Street View resim parçası isteğinde bulunabilirsiniz. Karo 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 boyuttaki bir resim 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 verilerini istemeniz gerekir. Ardından, yanıtın copyright alanına bakabilirsiniz. Daha fazla bilgi için Veri ilişkilendirmeleri başlıklı makaleyi inceleyin.