Street View Kutuları

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

  • Google Haritalar Sokak Görünümü Karoları
  • Street View meta verileri
  • Street View küçük resimleri

Gerçek hayattan panoramik bir efekt oluşturmak için sokak düzeyinden alınan resim karolarını birleştirebilirsiniz. Ayrıca, bir dizi konum (rota gibi) için 100'e kadar panorama kimliğini sorgulayabilir ve kameranın konumuyla ilgili daha ayrıntılı meta veriler elde edebilirsiniz.

Street View Karolarını birleştirmek için görüntüleyici gerekir. Örneğin, Street View özel panorama görüntüleyici.

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

  1. Bir 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. Şunları almak için panoId arama yanıtındaki panorama tanımlayıcılarını kullanın:

    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 Toplu olarak en çok 100 konum aramanı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 Street View sahnesinin küçük JPEG resmini döndürür. Bir başlık, ses perdesi, 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 panoramayla ilgili ayrıntılı bilgi sağlar. Ayrıntılar, ilgili adres ve bitişik panoramaların bağlantılarını içerir.

Bir veya daha fazla coğrafi konumun koordinatlarını (lat, lng) panoIds yöntemine geçirerek panorama tanımlayıcısını bulabilirsiniz. İstek gövdesi, aşağıdaki JSON kodu örneğinde gösterildiği gibi, 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 koordinat değeri de ekleyebilirsiniz (en fazla 100).
radius
radius değeri (metre cinsinden ölçülür), belirli bir konumun çevresindeki dairenin yarıçapını tanımlar ve panorama araması için bu yarıçapı oluşturur. Varsayılan değer 50 metredir.

PanoId yanıtı

Map Tiles API, her bir konuma en yakın panoramayı bulmaya çalışır ve ardından ilgili 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, Panorama kimliklerinin listesini istediğiniz sırada içerir. Map Tiles API istediğiniz konumlar için herhangi bir panorama bulamazsa dizide söz konusu 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. Panoramalarla ilgili bilgileri iki şekilde alabilirsiniz:

  • Bir pano_id iletirseniz Map Tiles API, söz konusu panoramaya ait meta verileri döndürür.

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

Bir dizi koordinat ve yarıçap geçirin

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. Ö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 pano kimliğini aktarma

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 listede, yanıt gövdesindeki alanların tanımları yer alır.

panoId
Bu panoramanın benzersiz kimliği. Panorama kimliklerinin tek bir kullanıcı oturumundan daha uzun süre geçerli olduğuna güvenmemelisiniz.
lat, lng
Panoramanın koordinatları (enlem ve boylam). Konum en yakın panoramaya sıkıştırdığı 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
Derece cinsinden ölçülen pusula istikametinde, saat yönünde kuzeyden. Başlıklar [0,360] aralığında döndürülür ve 0, son tarihi temsil eder.
tilt
Panoramanın, panoramanın güney kutbundan ufuk noktasına kadar derece cinsinden ölçülen eğimi. Döndürülen değerler [0, 180] aralığındadır. 90 derece değeri, ufkun panoramanın ekvator çizgisinde zaten hizalandığını gösterir.
roll
Ufku hizalamak için panoramaya uygulanan görüş çizgisi çevresinde saat yönünde dönüş. Döndürülen değerler [0, 360] aralığındadır.
imageryType
Resmin türünü gösterir. Geçerli değerler indoor ve outdoor'dir.
date
Resmin çekildiği tarih. Tüm görüntülerde tarih verisi bulunmaz. Ancak mümkün olduğunda bu alan, yıl (YYYY) ve ayın (AA) bir kombinasyonunu içerir. Örnek: 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örüntülemeniz ve "Bu resimle ilgili sorun bildirin" gibi bir 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 belgelerindeki İstek ve yanıtların coğrafi kodlamasını yapma bölümünü inceleyin.
links
Buna bağlanan panorama kimliklerinin listesi. Ayrıca, bağlantının bulunduğu başlığı da içerir. Örneğin, başlık 180° ise bağlantılı panorama, mevcut panoramanın güneyinde olmalıdır. Panorama kimliklerinin geçici yapısı nedeniyle, bu kimlikleri tek bir kullanıcı oturumundan fazla 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, ses perdesi ve görüş alanına sahip, karolara ayrılmamış resimlerdir. Küçük resimler döşemelerden daha düşük çözünürlüğe sahiptir ve dosya boyutu olarak 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 bulunursunuz.

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 şehrinde çekilen Street View görüntülerinin küçük resminin indirildiği 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

Whistler, Kanada'nın 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 piksel ile 250 piksel arasında olacak şekilde piksel cinsinden belirtir. 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, geçerli en yakın değere tutar.
width
Küçük resmin genişliğini 16 piksel 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 piksel olur. Aralık dışında bir değer belirtirseniz küçük resim, geçerli olan en yakın değere tutar.
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 sn.
fov
Yatay görüş alanını, maksimum 120 değeriyle derece cinsinden belirtir. Belirli bir boyutun Street View resminde olduğu gibi, sabit boyutlu bir görüntü alanı söz konusu olduğunda görünüm 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 bir 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 blokunun karo koordinatlarıdır. Street View panoramalarındaki yakınlaştırma düzeyleri [0,5] aralığında olmalıdır. 0 değeri en geniş görüş alanını temsil etmektedir.

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 °F
5 11,25°

Street View Karoları yanıtları

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

Başarılı Kart isteğinin sonucu

Yakınlaştırma seviyesi sıfır olduğunda, panoramanın tamamı tileHeight x tileWidth boyutlardan oluşan bir karo halinde yeniden boyutlandırılır. Panoramalar x boyutunda daha büyük olduğundan, parçanın y boyutunda boş bir alan olacaktır:

Yakınlaştırma 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.

Her Street View panoramasında telif hakkı bilgilerini göstermeniz gerekir. Gösterilecek dize, panoramalar arasında farklılık 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.