Google Haritalar Street View, dünyanın dört bir yanındaki yerleri 360 derecelik, sokak düzeyinde görüntüler. Dünyanın önemli noktalarını keşfedebilir, gezinebilir veya işletmenizin dışını görebilirsiniz.
Genel Bakış
Google Street View, belirlenen yollardan 360 derecelik panoramik görünümler sunar
kapsama alanında kullanılabilir. SDK üzerinden sunulan kapsam, iOS için Google Haritalar uygulaması veya https://maps.google.com/
ile aynıdır. Web sitemiz g.co/newsinitiative/labs
üzerinden
desteklenen alanları etkileşimli harita üzerinde görebilirsiniz.
Street View hakkında.
iOS için Haritalar SDK'sı, bir Street View hizmeti sağlar
Google Haritalar Street View'da kullanılan görüntüleri elde etmek ve değiştirmek için
Street View görüntüleri panorama olarak döndürülür ve
Street View görüntüleyicisinin içinden görüntülenerek
GMSPanoramaView
türünde nesne.
Street View panoramaları
Her Street View panoraması, tüm ayrıntıları gösteren bir resim veya resim kümesidir. Tek bir konumdan 360 derece görünüm. Resimler eş dikdörtgene uygun 360 derece yatay görünüm (Plate Carrée) içeren (Plate Carrée) projeksiyon tam çerçeve) ve 180 derece dikey görünüm (düzden yukarıya kadar tepeden tırnağa). Ortaya çıkan 360 derecelik panorama, bir projeksiyonu küre üzerinde görüntü bu iki boyutlu yüzeyine sarılmış yer alır.
Street View panoramaları GMSPanoramaView
nesnesiyle görüntülenebilir. Bu
Nesne, panoramayı küre şeklinde oluşturacak bir görüntüleyici sağlar. Bunun için
ortada olacak şekilde ekleyebilirsiniz. Resmin yönünü programlı bir şekilde kontrol edebilirsiniz.
kameranın yanı sıra izleyiciyi özelleştiren çeşitli özellikler.
Street View verilerine erişme
Street View panoramaları, iki meta veri parçasından biriyle tanımlanır:
panoramaID
- Bir Street View panoramasının benzersiz kimliğidir. Bu
panoramaID
zaman içinde değişebilir ve uzun süreli veya sabit kodlu referans olarak kullanılamaz.panoramaID
, şu bilgileri sunmak için en iyi şekilde kullanılır: farklı Street View görüntülerine programatik erişim. coordinate
- Bu resmin tam konumu,
CLLocationCoordinate2D
. Şunun içincoordinate
kullanın: bir panorama konumunun kalıcı olarak depolanması veya bir Street View görüntüsüne dönüştürmenizi sağlar.
Hem panoramaID
hem de coordinate
GMSPanorama
nesne. Şu konumdan bir GMSPanorama
isteyebilirsiniz:
coordinate
veya panoramaID
kullanarak GMSPanoramaService
. İlgili içeriği oluşturmak için kullanılan
sonuçta ortaya çıkan nesne hem meta veri parçalarını hem de
yakındaki panoramaların bağlantıları.
Panoramanın konumunu ayarlama
Street View panoramasının konumu, koordinata göre ayarlanabilir.
moveNearCoordinate
yöntemi, şuranın yakınında bir panorama ister: koordinatı.moveNearCoordinate:radius
yöntemi benzerdir ancak koordinat çevresinde metre cinsinden bir arama yarıçapı belirtmenize olanak tanır.moveNearCoordinate:source
yöntemi, bir kaynak belirtmenize olanak tanır. Street View'ı yalnızca şu aramaları görecek şekilde kısıtlamak istiyorsanız, bir kaynak yararlıdır: pek çok farklı video vardır. Varsayılan olarak, konumların panoramaları genellikle iç mi yoksa dış mekan mı olduğunu belirleyin. Belirtilen konum için açık hava panoramalarının bulunmayabileceğini unutmayın.moveNearCoordinate:radius:source
yöntemi, hem bir kaynak belirtin.
Street View görüntülerini görüntüleme
Street View görüntüleyici ekleme
İzleyici eklemenin temel adımları şunlardır:
- (Bir kez) SDK'yı edinmek için Başlarken bölümündeki adımları uygulayın. ve gerekli çerçeveleri eklemeyi öğreneceksiniz.
ViewController
oluşturun veya güncelleyin. Panorama, fotoğraf çekme bu görünüm denetleyicisi görünür hale gelir. Bunu,loadView
yöntemi.- Şunu kullanarak bir
GMSPanoramaView
sınıfı oluşturun ve örnek gösterin:GMSPanoramaView
initWithFrame:
yöntemi. Bu, görüntüleme denetleyicisinin tek görünümünü görüntülemeniz durumundaCGRectZero
, haritanın çerçeve otomatik olarak yeniden boyutlandırılır. GMSPanoramaView
nesnesini, görünüm denetleyicisinin görünümü olarak ayarlayın (ör.self.view = panoView;
.moveNearCoordinate:
gibi bir yöntem kullanarak Street View görüntüsünün konumunu ayarlayın.
Aşağıdaki örnekte, bir uygulamaya Street View görüntüleyici eklenmiştir.
Swift
import GoogleMaps class StreetView: UIViewController { override func loadView() { let panoView = GMSPanoramaView(frame: .zero) self.view = panoView panoView.moveNearCoordinate(CLLocationCoordinate2D(latitude: -33.732, longitude: 150.312)) } }
Objective-C
#import "StreetView.h" @import GoogleMaps; @interface StreetView () @end @implementation StreetView - (void)loadView { GMSPanoramaView *panoView = [[GMSPanoramaView alloc] initWithFrame:CGRectZero]; self.view = panoView; [panoView moveNearCoordinate:CLLocationCoordinate2DMake(-33.732, 150.312)]; } @end
Görüntüleyiciyi özelleştirme
Kullanılabilecek hareketleri kısıtlayarak görüntüleyiciyi özelleştirebilirsiniz. Ölçüt
Kaydırma, yakınlaştırma ve komşu panoramalara gitme gibi özelliklerin tümü etkin.
Bağımsız hareketler, GMSPanoramaView
özellikleri ile kontrol edilir.
Bu özellikler, kullanıcı tarafından kontrol edilen hareketleri etkinleştirir veya devre dışı bırakır; programatik
Hareket devre dışı bırakıldığında da değiştirilebilir.
orientationGestures
- Kullanıcının dokunarak veya dokunarak kamerayı yeniden yönlendirip gösteremeyeceği
tıklayın.
NO
bulun. zoomGestures
- Kullanıcının iki parmak ucuyla yakınlaştırma ve uzaklaştırma yapıp yapamayacağı.
NO
olarak ayarla dokunarak yakınlaştırmayı devre dışı bırakabilirsiniz. navigationGestures
- Kullanıcının görünür olan panoramayı değiştirip değiştiremeyeceğini belirtir. Kullanıcı Sayısı
gezinme bağlantılarına bir kez veya değiştirmek için görünüme iki kez dokunabilir
panoramalar Gezinme değişikliklerini devre dışı bırakmak için
NO
değerine ayarlayın.
setAllGesturesEnabled:
yöntemini kullanarak tüm hareketleri tek seferde etkinleştirebilir veya devre dışı bırakabilirsiniz.
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
[panoView setAllGesturesEnabled:NO];
Street View'ı URL Şeması ile Başlatma
Google Street View görüntüleri, iOS için Google Haritalar'dan görüntülenebilir
bir uygulamadır. iOS için Google Haritalar uygulamasını sokak üzerinde başlatabilirsiniz
mapmode
ayarlayarak comgooglemaps
URL Şeması ile görüntüleme modu
parametresini streetview
olarak ayarlayın. Street View'ı başlatacak bir URL örneği
aşağıda görünür. Daha fazla bilgi için URL Şeması'na bakın.
belgelerinden faydalanabilirsiniz.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Street View konumları ve bakış açısı (POV)
GMSPanoramaCamera
, Street View'ın bakış açısını ayarlamanıza olanak tanır.
yön, perde ve yakınlaştırmanın bir kombinasyonu olarak kullanın.
Aşağıdaki snippet grupları kamerayı güneye ve hafifçe aşağı yönlendirir.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Yön
Street View konumu, bir fotoğraf için kamera odağının yerleşimini
ancak söz konusu resim için kameranın yönünü tanımlamaz.
Bu amaçla, GMSOrientation
nesnesi iki özellik tanımlar:
heading
, kamera yerleşkesinin etrafındaki dönme açısını tanımlar göreceli olarak ölçtüğünüz aşamadır. Yönler saat yönünde ölçülür: Kuzey 0, doğu 90, güney 180, batı 270 derecedir.pitch
(varsayılan0
), "yukarı" açı varyansını tanımlar veya "down" şuradan kameranın ilk varsayılan perdesi (her zaman olmasa da genellikle düzdür) yatay. (Örneğin, bir tepede çekilen resimde büyük olasılıkla bir yatay olmayan varsayılan ses tonu.) Atış açıları şununla ölçülür: yukarı yönlü pozitif değerlere (en fazla +90 derece ve varsayılan perdeyi) ve aşağı bakan negatif değerleri (-90 dereceye kadar) varsayılan perdeye kadar düz ve dikey olarak).
Tarih aralığını
Street View, zum kullanımı aracılığıyla farklı düzeylerde görüntü ayrıntısını destekler. Yakınlaştırma düzeyini programatik olarak ayarlayabilirsiniz veya kullanıcılar iki parmak ucunuzu yakınlaştırın ya da uzaklaştırın.
Kamerayı hareket ettirme
GMSPanoramaView
öğesini oluşturduktan sonra
kullanıyorsanız birkaç şekilde değiştirebilirsiniz.
elde edilen kamera hareketini canlandırma seçeneğiniz vardır. İlgili içeriği oluşturmak için kullanılan
mevcut kamera özellikleri ile yeni kamera özellikleri arasında arapolasyon
kamera özellikleriyle değiştirebilirsiniz.
GMSPanoramaCamera
nesnesini değiştirebilir ve
GMSPanoramaView
adlı kullanıcının camera
mülkü. Bu işlem, kamerayı yeni
animasyon içermeyen bir bakış açısı sunabilir. Yön ve yakınlaştırma kombinasyonlarının herhangi birini yapılandırmak için bir GMSCameraPosition
oluşturulabilir.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Geçişi canlandırmak için
GMSPanoramaView
için animateToCamera:animationDuration:
yöntemi.
Ayrıca, Core Animation'ı kullanarak kamerayı kontrol edebilirsiniz. Yapıldı
GMSPanoramaView
tarihinde özel CALayer
üzerinden,
GMSPanoramaLayer
.
Street View'daki işaretçiler
GMSPanoramaView
nesnesi, harita işaretçilerini görüntüleyebiliyor. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için
GMSMapView
veya bir üzerinde aynı GMSMarker
nesnesi
GMSPanoramaView
nesnesini ayarlayın:
Swift
// Create a marker at the Eiffel Tower let position = CLLocationCoordinate2D(latitude: 48.858, longitude: 2.294) let marker = GMSMarker(position: position) // Add the marker to a GMSPanoramaView object named panoView marker.panoramaView = panoView // Add the marker to a GMSMapView object named mapView marker.map = mapView
Objective-C
// Create a marker at the Eiffel Tower CLLocationCoordinate2D position = CLLocationCoordinate2DMake(48.858,2.294); GMSMarker *marker = [GMSMarker markerWithPosition:position]; // Add the marker to a GMSPanoramaView object named panoView marker.panoramaView = panoView; // Add the marker to a GMSMapView object named mapView marker.map = mapView;
İşaretçilerin boyutu, işaretçinin konumu arasındaki mesafenin bir işlevi olarak
konum ve GMSCameraView
konumu. Bu mesafe çok fazla olursa işaretçi gösterilemeyecek kadar küçük olur ve görüntüden kaldırılır.
panoramaView
özelliğini nil
olarak ayarlayıp
GMSPanoramaView
.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
Etkinlikler
Street View panoramasında gerçekleşen etkinlikleri dinleyebilirsiniz. Örneğin, bir fotoğrafın
kullanıcı panoramaya dokunduğunda. Etkinlikleri dinlemek için
GMSPanoramaViewDelegate
protokolü. Genel
etkinlik rehberine ve
GMSPanoramaViewDelegate
.