Google Haritalar Street View, dünyanın dört bir yanındaki yerleri, 360 derecelik sokak düzeyinde görüntüler aracılığıyla keşfetmenize olanak tanır. Dünyadaki önemli noktaları keşfedebilir, göz kamaştırıcılarını görebilir, bir geziye çıkabilir veya işletmenizin dışını gösterebilirsiniz.
Genel bakış
Google Street View, kapsama alanı boyunca belirtilen yollardan
360 derecelik panoramik görüntüler sağlar. SDK aracılığıyla kullanılabilen kapsam, iOS için Google Haritalar uygulaması veya https://maps.google.com/
ile aynıdır. Etkileşimli harita üzerinde Street View
hakkında daha fazla bilgi edinebilir ve desteklenen alanları görebilirsiniz.
Street View hakkında.
iOS için Haritalar SDK'sı, Google Haritalar Street View'da kullanılan
görüntülerin alınması ve değiştirilmesi için bir Street View hizmeti sağlar.
Street View görüntüleri panorama olarak döndürülür ve Street View
görüntüleyicisinin (GMSPanoramaView
türünde bir nesne) içinden görüntülenir.
Street View panoramaları
Her Street View panoraması, tek bir konumdan tam 360 derece görünüm sağlayan bir resim veya resim kümesidir. Resimler, 360 derece yatay görünüm (tam sarmalama) ve 180 derece dikey görünüm (düzden tepeye doğru) içeren eş dikdörtgen (Plate Carrée) projeksiyona uygundur. Ortaya çıkan 360 derecelik panorama, küre üzerindeki bir projeksiyonu tanımlar ve resim, bu kürenin iki boyutlu yüzeyine sarılmış durumdadır.
Street View panoramaları GMSPanoramaView
nesnesiyle görüntülenebilir. Bu nesne, panoramayı ortasında kamera olacak şekilde küre şeklinde işleyecek bir görüntüleyici sağlar. Kameranın yönünü ve görüntüleyiciyi özelleştiren çeşitli özellikleri programatik olarak kontrol edebilirsiniz.
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 vadeli veya sabit kodlu referans olarak uygun değildir.panoramaID
, farklı Street View resimlerine programatik erişim sağlamak için en iyi seçenektir. coordinate
- Bu resmin tam konumu (
CLLocationCoordinate2D
olarak ifade edilir). Bir panorama konumunu kalıcı olarak depolamak veya haritadaki kullanıcı işlemlerini Street View görüntüsüne çevirmek içincoordinate
kullanın.
Hem panoramaID
hem de coordinate
, GMSPanorama
nesnesinin özellikleri olarak depolanır. coordinate
veya panoramaID
kullanarak GMSPanoramaService
adlı satıcıdan GMSPanorama
isteyebilirsiniz. Sonuçta ortaya çıkan nesne hem meta veri parçalarını hem de yakındaki panoramalara yönlendiren bir dizi bağlantı içerir.
Panoramanın konumunu ayarlama
Street View panoramasının konumu koordinatla ayarlanabilir.
moveNearCoordinate
yöntemi, koordinatın yakınında bir panorama ister.moveNearCoordinate:radius
yöntemi benzerdir ancak koordinat çevresinde metre cinsinden bir arama yarıçapı belirtmenize olanak tanır.moveNearCoordinate:source
yöntemi, bir kaynak belirtmenizi sağlar. Street View'ı yalnızca dışarıdaki panoramaları arayacak şekilde kısıtlamak istiyorsanız bir kaynak faydalıdır. Konumların panoramaları varsayılan olarak iç veya dış mekandır. Belirtilen konum için dış mekan panoramalarının mevcut olmayabileceğini unutmayın.moveNearCoordinate:radius:source
yöntemi hem yarıçap hem de kaynak belirtmenize olanak tanır.
Street View resimlerini 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, bir anahtar edinin ve gerekli çerçeveleri ekleyin.
- Bir
ViewController
oluşturun veya güncelleyin. Bu görünüm denetleyicisi görünür olduğunda panorama gösterilirse bunuloadView
yöntemiyle oluşturduğunuzdan emin olun. GMSPanoramaView
initWithFrame:
yöntemini kullanarak birGMSPanoramaView
sınıfı oluşturun ve bunu örneklendirin. Bu, görünüm denetleyicisinin tek görünümü olarak kullanılacaksa haritanın çerçevesi olarakCGRectZero
kullanılabilir. Harita 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;
).- Street View görüntüsünün konumunu
moveNearCoordinate:
gibi bir yöntem kullanarak 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. Varsayılan olarak, kaydırma, yakınlaştırma ve komşu panoramalara gitmenin tümü etkindir.
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; hareket devre dışıyken de programatik değişiklikler yapılabilir.
orientationGestures
- Kullanıcının dokunarak veya sürükleyerek kameranın yönünü değiştirip değiştiremeyeceği. Kamerada yön değişikliklerini devre dışı bırakmak için
NO
olarak ayarlayın. zoomGestures
- Kullanıcının iki parmak ucuyla yakınlaştırma ve uzaklaştırma yapıp yapamayacağı. Yakınlaştırmayı devre dışı bırakmak için ayarı
NO
olarak ayarlayın. navigationGestures
- Kullanıcının görünür olan panoramayı değiştirip değiştiremeyeceğini belirtir. Kullanıcılar, gezinme bağlantılarına bir kez dokunarak veya panoramaları değiştirmek için görünüme iki kez dokunarak gezinme değişikliklerini devre dışı bırakabilir.
NO
seçeneğine ayarlayın.
setAllGesturesEnabled:
yöntemiyle tüm hareketleri aynı anda 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 uygulamasından görüntülenebilir. mapmode
parametresini streetview
değerine ayarlayarak
iOS için Google Haritalar uygulamasını comgooglemaps
URL Şeması ile sokak görünümü modunda
başlatabilirsiniz. Street View'ı başlatacak bir URL örneği aşağıda verilmiştir. Daha fazla bilgi için URL Şeması belgelerine bakın.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Street View konumları ve bakış açısı (POV)
GMSPanoramaCamera
, Street View kamerasının bakış açısını başlık, perde ve yakınlaştırmanın bir kombinasyonu olarak ayarlamanıza olanak tanır.
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 resim için kamera odağının yerleşimini tanımlar ancak söz konusu görüntü için kameranın yönünü tanımlamaz.
Bu amaçla, GMSOrientation
nesnesi iki özellik tanımlar:
heading
, kamera noktasının çevresindeki dönme açısını gerçek kuzeye göre derece cinsinden tanımlar. Yönler saat yönünde ölçülür: doğru kuzey 0, doğu 90, güney 180, batı 270 olarak ölçülür.pitch
(varsayılan0
), kameranın genellikle (ancak her zaman değil) düz yatay olan ilk varsayılan perdesinden "yukarı" veya "aşağı" açı varyansını tanımlar. (Örneğin, bir tepede çekilen resim, büyük olasılıkla yatay olmayan bir varsayılan perde sergiler.) Atış açıları yukarı bakan pozitif değerlerle (varsayılan perdeye en fazla +90 derece, varsayılan perdeye dik olarak) ve negatif değerlerle (varsayılan perdeye kadar -90 dereceye kadar ve dikey olarak) ölçülür.
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, yakınlaştırmak için sıkıştırarak görüntüleyicideki düzeyi değiştirebilir.
Kamerayı hareket ettirme
GMSPanoramaView
öğesini oluşturduktan sonra, yapılandırılmış veya varsayılan bir kamerası varsa bunu birkaç şekilde değiştirebilirsiniz. Kamerayı değiştirdiğinizde, sonuçta elde edilen kamera hareketini canlandırabilirsiniz. Animasyon, mevcut kamera özellikleri ile yeni kamera özellikleri arasında interpolasyon yapar.
GMSPanoramaCamera
nesnesini değiştirebilir ve GMSPanoramaView
öğesinin camera
özelliğinde ayarlayabilirsiniz. Bu işlem, kamerayı animasyon olmadan
yeni bakış açısına tutturur. Yön ve yakınlaştırmanın herhangi bir kombinasyonunu yapılandırmak için GMSCameraPosition
oluşturulabilir.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
animateToCamera:animationDuration:
GMSPanoramaView
yöntemini
kullanarak bir geçişe animasyon uygulayabilirsiniz.
Ayrıca, Core Animation'ı kullanarak kamerayı kontrol edebilirsiniz. Bu özellik GMSPanoramaView
, GMSPanoramaLayer
adresindeki özel CALayer
aracılığıyla sunulur.
Street View'daki işaretçiler
GMSPanoramaView
nesnesi, harita işaretçilerini görüntüleyebiliyor. GMSMapView
veya GMSPanoramaView
nesnesinde aynı GMSMarker
nesnesini, buna karşılık gelen özellikleri ayarlayarak kullanabilirsiniz:
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 ile GMSCameraView
konumu arasındaki mesafenin bir işlevi olarak ölçeklendirilir. Bu mesafe fazla büyürse, işaretçi gösterilemeyecek kadar küçük olur ve görünmez.
GMSPanoramaView
öğesinden kaldırmak için panoramaView
özelliğini nil
olarak ayarlayın.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
Etkinlikler
Street View panoramasında gerçekleşen etkinlikleri (ör. bir kullanıcının panoramaya dokunması) dinleyebilirsiniz. Etkinlikleri dinlemek için GMSPanoramaViewDelegate
protokolünü uygulamanız gerekir. Genel etkinlik rehberine ve GMSPanoramaViewDelegate
sitesindeki yöntemler listesine bakın.