Street View Kutuları

Street View örneğiStreet View karoları, 2D Karolar'a benzer. Tek fark, sokak düzeyinde çekilen panoramik görüntülerdir. Street View ile dünyanın önemli noktalarını ve doğa harikalarını keşfedebilir, müze, arena, restoran veya küçük işletme 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. Bir konum grubu (rota gibi) için 100'e kadar panorama kimliğini sorgulayabilir ve kamera konumu hakkında daha ayrıntılı meta veriler elde edebilirsiniz.

Görüntüleyicinin Street View karolarını birleştirmesi gerekir. Örneğin, Street View özel panorama görüntüleyici.

API anahtarınız olduğunda, 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. panoId arama yanıtındaki panorama tanımlayıcılarını kullanarak şunları elde edebilirsiniz:

    1. Street View meta verileri. Street View meta verilerini, bir dizi koordinat ve yarıçapı geçirerek de alabilirsiniz.

    2. Street View küçük resimleri.

    3. Street View Karoları.

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 pikselden 13.312 piksele kadar.
https://tile.googleapis.com/v1/streetview/panoIds 100 adede 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 resim JPEG resmini döndürür. Başlık, sunum, boyutlar ve görüş alanı sağlamanıza olanak tanır. Minimum boyutlar 16x16 pikseldir. Maksimum boyutlar 250x600 pikseldir.
https://tile.googleapis.com/v1/streetview/metadata Belirtilen panorama hakkında ayrıntılı bilgi verir. Ayrıntılar, ilgili adresi ve bitişik panoramaların bağlantılarını içerir.

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 nesnesidir.

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 daha fazla (en fazla 100) koordinat değeri ekleyebilirsiniz.
radius
radius değeri (metre cinsinden ölçülür), belirli bir konumun çevresindeki çemberin yarıçapını tanımlar. Bu değerde panorama aranır. Varsayılan değer 50 metredir.

PanoId yanıtı

Map Tiles API, 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. Map Tiles API, istediğiniz konumlar için herhangi bir panorama bulamazsa dizideki 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 ile şunları yapabilirsiniz:

Street View meta verileri

Street View meta veri istekleri, panoramalar hakkında bilgi getirir. Street View meta veri isteği, bir HTTPS GET isteğidir. Panoramalar hakkında bilgi almak için iki yöntem vardır:

  • Bir pano_id iletirseniz Map Tiles API, söz konusu panoramanın meta verilerini döndürür.

  • Ancak bir lat ve lng değerini geçerseniz Map Tiles API, belirtilen arama yarıçapındaki en yakın panoramanın meta verilerini döndürür.

Bir dizi koordinat 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 dizi koordinat ve bir radius değeri iletmenizi öneririz. Bir ö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ığı içinde döndürülür. 0, Kuzey'i temsil eder.
tilt
Panoramanın eğimi. Panonun güney kutbundan ufağa kadar olan derece cinsinden ölçülür. Döndürülen değerler [0, 180] aralığındadır. 90 derece değeri, ufuk çizgisinin panoramanın ekvatoruna 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
Görsel türünü belirtir. Geçerli değerler indoor ve outdoor değerleridir.
date
Resmin çekildiği tarih. Tüm resimlerde tarih verisi yoktur. Ancak kullanılabilir olduğunda bu alan yıl (YYYY) ve ayın (AA) bir 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 kullanabilecekleri bir köprü. Bu köprüyü, resmin sağ alt köşesinde göstermeniz ve "Bu resimle ilgili bir sorunu bildirin" gibi bir ifade içeren bağlantı metni içermesi 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 dokümanlarındaki İsteklerin ve yanıtların coğrafi kodlamasını yapma bölümüne bakın.
links
Buna bağlantı veren panorama kimliklerinin listesi. Ayrıca, bağlantının bulunduğu başlığı da içerir. Örneğin, başlık 180° ise bağlı panoramanın başlangıcı, mevcut panoramanın güneyindendir. Panorama kimliklerinin geçici yapısı nedeniyle, bunlara tek bir kullanıcı oturumundan daha uzun süre güvenmemeniz gerektiğini unutmayın.

Street View küçük resimleri

Street View görüntülerini thumbnail biçiminde isteyebilirsiniz. Küçük resimler; kullanıcı tanımlı boyut, başlık, ses perdesi ve görüş alanına sahip karosuz resimlerdir. Küçük resimlerin çözünürlüğü karolardan daha düşüktür ve dosya boyutu daha küçüktür. Aşağıdaki kod prototipinde gösterildiği gibi, thumbnail uç noktasına bir GET isteği göndererek küçük resim isteğinde bulunabilirsiniz.

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'da Whistler şehrinin Street View küçük resmi

Gerekli parametreler

panoId
İstediğiniz küçük resmin benzersiz kimliği. Panorama kimlik 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 yüksekliğini 16 ile 250 piksel arasında piksel cinsinden belirtir. Yükseklik belirtmezseniz yükseklik varsayılan olarak izin verilen maksimum değer olan 250 piksele ayarlanır. Aralık dışında bir değer belirtirseniz küçük resim, en yakın geçerli değere tutturulur.
width
Küçük resmin genişliğini 16 ile 600 piksel arasında olacak şekilde piksel cinsinden belirtir. Genişlik belirtmezseniz 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 tutturulur.
pitch
Kameranın dikey eksendeki açısını belirtir. Geçerli değerler -90 - 90 (dahil) aralığındadır. Varsayılan değer 0'dır.
yaw
Yatay eksen boyunca kameranın yönünü belirtir. Geçerli değerler -360 - 360 (dahil) aralığındadır. Varsayılan değer 0'dır.
fov
Derece cinsinden ifade edilen, maksimum değeri 120 olan yatay görüş alanını belirtir. 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 sahibi olduktan sonra, Street View resim karosu isteyebilirsiniz. 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 düzeyidir. x ve y ise istediğiniz Street View parçasının karo koordinatlarıdır. Street View panoramalarındaki yakınlaştırma düzeyleri [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üntüleme Alanı
0 360°
1 180 °F
2 90 °F
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ğinin sonucu

Yakınlaştırma düzeyi sıfır olduğunda, panoramanın tamamı tileHeight ile tileWidth boyut karoları şeklinde yeniden boyutlandırılır. Panoramalar x boyutunda daha büyük olduğundan, parçanın y boyutunda boş alan bulunur:

Zum düzeyi sıfır

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

Telif hakkı bilgilerini her Street View panoramasında 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.