Google Maps Street View memungkinkan Anda menjelajahi tempat di seluruh dunia melalui Gambar tingkat jalan 360 derajat. Anda dapat menjelajahi tolok ukur dunia, melihat alam keajaiban, melakukan perjalanan, atau menunjukkan sisi luar bisnis Anda.
Ringkasan
Google Street View memberikan tampilan panorama 360 derajat dari jalan yang ditetapkan ke seluruh area cakupannya. Cakupan yang tersedia melalui SDK adalah
sama seperti untuk aplikasi Google Maps untuk iOS atau
https://maps.google.com/
Anda dapat membaca
lebih lanjut tentang
Street View dan lihat area yang didukung pada peta interaktif, di
Tentang Street View.
Maps SDK for iOS menyediakan layanan Street View
untuk memperoleh dan merekayasa gambar yang digunakan dalam Google Maps Street View.
Gambar Street View dikembalikan sebagai panorama dan
dilihat dari dalam penampil Street View —
objek dengan jenis GMSPanoramaView
.
Panorama Street View
Setiap panorama Street View adalah gambar, atau serangkaian gambar, yang memberikan tampilan penuh 360 derajat dari satu lokasi. Gambar sesuai dengan equirectangular (Plate Carrée), yang berisi tampilan horizontal 360 derajat ( tampilan penuh) dan tampilan vertikal 180 derajat (dari lurus ke atas hingga ke bawah). Panorama 360 derajat yang dihasilkan mendefinisikan proyeksi pada bola dunia dengan gambar yang dibalutkan ke permukaan dua dimensi itu bola.
Panorama Street View dapat dilihat dengan objek GMSPanoramaView
. Ini
menyediakan penampil yang akan merender panorama sebagai bola dunia, dengan
kamera di tengahnya. Anda bisa secara terprogram mengontrol orientasi
kamera, serta beberapa properti penyesuaian penampil.
Mengakses data Street View
Panorama Street View diidentifikasi melalui salah satu dari dua buah metadata:
panoramaID
- ID unik panorama Street View.
panoramaID
ini dapat berubah seiring waktu, dan tidak cocok untuk digunakan dalam jangka panjang, atau hard code, alamat IP internal.panoramaID
paling baik digunakan untuk menyediakan akses terprogram ke berbagai gambar Street View. coordinate
- Lokasi presisi gambar ini, yang dinyatakan sebagai
CLLocationCoordinate2D
. Gunakancoordinate
untuk penyimpanan persisten untuk lokasi panorama, atau untuk menerjemahkan tindakan pengguna peta menjadi gambar Street View.
Baik panoramaID
maupun coordinate
disimpan sebagai properti
Objek GMSPanorama
. Anda dapat meminta GMSPanorama
dari
GMSPanoramaService
menggunakan coordinate
atau panoramaID
. Tujuan
yang dihasilkan akan menyertakan kedua bagian metadata, serta susunan
tautan ke panorama terdekat.
Menetapkan lokasi panorama
Lokasi panorama Street View dapat diatur berdasarkan koordinat.
Metode
moveNearCoordinate
meminta panorama di dekat koordinat.Metode
moveNearCoordinate:radius
serupa, tetapi memungkinkan Anda untuk menentukan radius penelusuran, dalam meter, di sekitar koordinat.Metode
moveNearCoordinate:source
memungkinkan Anda untuk menentukan sumber. Sebuah sumber berguna jika Anda ingin membatasi Street View agar hanya mencari panorama yang berada di luar. Secara default, panorama lokasi di dalam atau di luar. Perhatikan, panorama luar ruangan mungkin tidak ada untuk lokasi yang ditentukan.Metode
moveNearCoordinate:radius:source
memungkinkan Anda menentukan radius dan sumber.
Melihat gambar Street View
Menambahkan penampil Street View
Langkah-langkah dasar untuk menambahkan penampil adalah:
- (Sekali) Ikuti langkah-langkah di Memulai untuk mendapatkan SDK. mendapatkan kunci dan menambahkan kerangka kerja yang diperlukan.
- Buat atau update
ViewController
. Jika panorama akan ditampilkan saat pengontrol tampilan ini terlihat, pastikan untuk membuatnya dalam metodeloadView
. - Membuat dan membuat instance class
GMSPanoramaView
menggunakan MetodeGMSPanoramaView
initWithFrame:
. Jika alamat ini akan digunakan sebagai satu-satunya tampilan pengontrol ini, makaCGRectZero
dapat digunakan sebagai frame — peta akan diubah ukurannya secara otomatis. - Tetapkan objek
GMSPanoramaView
sebagai tampilan pengontrol tampilan, misalnyaself.view = panoView;
. - Menyetel lokasi gambar Street View menggunakan metode seperti
moveNearCoordinate:
.
Contoh di bawah ini menambahkan penampil Street View ke sebuah aplikasi.
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
Menyesuaikan penampil
Anda bisa menyesuaikan penampil dengan membatasi isyarat yang tersedia. Menurut
default, menggeser, zooming, dan melihat-lihat panorama yang berdekatan semuanya diaktifkan.
Setiap gestur dikontrol melalui properti GMSPanoramaView
.
Properti ini mengaktifkan atau menonaktifkan gestur yang dikontrol pengguna; terprogram
perubahan masih dimungkinkan saat {i>gesture <i}dinonaktifkan.
orientationGestures
- Apakah pengguna akan dapat mengubah orientasi kamera dengan mengetuk atau
menarik. Setel ke
NO
untuk menonaktifkan perubahan orientasi pada kamera. zoomGestures
- Apakah pengguna akan dapat mencubit untuk melakukan zoom. Disetel ke
NO
untuk menonaktifkan zoom. navigationGestures
- Apakah pengguna akan dapat mengubah panorama mana yang terlihat. Pengguna
dapat menggunakan satu ketukan pada link navigasi, atau mengetuk dua kali pada tampilan untuk mengubah
panorama. Setel ke
NO
untuk menonaktifkan perubahan navigasi.
Anda dapat mengaktifkan atau menonaktifkan semua gestur sekaligus dengan
Metode setAllGesturesEnabled:
.
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
[panoView setAllGesturesEnabled:NO];
Meluncurkan Street View dengan Skema URL
Gambar Google Street View dapat dilihat dari dalam Google Maps untuk iOS
aplikasi. Anda dapat meluncurkan aplikasi Google Maps untuk iOS di jalan
mode tampilan dengan Skema URL comgooglemaps
dengan menetapkan mapmode
ke streetview
. Contoh URL yang akan meluncurkan Street View
muncul di bawah. Untuk informasi selengkapnya, lihat Skema URL
dokumentasi layanan.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Lokasi Street View dan sudut pandang (POV)
GMSPanoramaCamera
memungkinkan Anda menetapkan sudut pandang Street View
kamera sebagai kombinasi antara arah,
{i>pitch <i}dan {i>zoom<i}.
Rangkaian cuplikan di bawah ini akan mengarahkan kamera ke selatan, dan sedikit ke bawah.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Orientasi
Lokasi Street View menentukan penempatan fokus kamera untuk
gambar, tetapi tidak menentukan orientasi kamera untuk gambar tersebut.
Untuk tujuan tersebut, objek GMSOrientation
menentukan dua properti:
heading
menentukan sudut rotasi di sekitar lokus kamera dalam derajat dari utara sejati. Arah diukur searah jarum jam: utara sebenarnya 0, timur 90, selatan 180, barat 270.pitch
(default0
) menentukan varian sudut "atas" atau "down" dari pitch default awal kamera, yang sering kali (tetapi tidak selalu) datar horizontal. (Misalnya, gambar yang diambil dari atas bukit kemungkinan akan menunjukkan pitch default yang tidak horizontal.) Sudut pitch diukur dengan nilai positif yang mengarah ke atas (ke +90 derajat lurus ke atas dan ortogonal ke pitch default) dan nilai negatif yang mengarah ke bawah (ke -90 derajat lurus ke bawah dan ortogonal ke pitch default).
Zoom
Street View mendukung berbagai tingkat detail gambar melalui penggunaan zoom. Anda dapat menetapkan tingkat zoom secara terprogram, atau pengguna dapat mengubah tingkat zoom dalam penampil dengan mencubit untuk memperbesar.
Menggerakkan kamera
Setelah Anda membuat GMSPanoramaView
, dan memiliki konfigurasi
kamera default, Anda dapat mengubahnya dengan salah satu dari beberapa cara. Saat Anda mengubah
kamera, Anda memiliki opsi untuk menganimasikan gerakan kamera yang dihasilkan. Tujuan
animasi disisipkan di antara atribut kamera saat ini dan
kamera.
Anda dapat mengubah objek GMSPanoramaCamera
, dan menyetelnya di
Properti camera
GMSPanoramaView
. Tindakan ini akan menempatkan kamera
sudut pandang tanpa animasi. GMSCameraPosition
dapat dibuat untuk mengonfigurasi
kombinasi dari orientasi dan zoom.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Anda dapat menganimasikan transisi dengan memanggil
Metode animateToCamera:animationDuration:
dari GMSPanoramaView
.
Selain itu, Anda bisa mengontrol kamera menggunakan Core Animation. Hal ini dibuat
tersedia melalui CALayer
kustom di GMSPanoramaView
,
GMSPanoramaLayer
.
Penanda dalam Street View
Objek GMSPanoramaView
dapat menampilkan penanda peta. Anda dapat menggunakan
objek GMSMarker
yang sama pada GMSMapView
atau
GMSPanoramaView
dengan menetapkan properti yang sesuai:
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;
Ukuran penanda akan diskalakan sebagai fungsi jarak antara posisi penanda dan lokasi GMSCameraView
. Jika jarak ini terlalu
bagus, penanda akan menjadi terlalu kecil untuk ditampilkan dan akan disembunyikan dari
{i>view<i}.
Tetapkan properti panoramaView
ke nil
untuk menghapusnya dari
GMSPanoramaView
.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
Acara
Anda bisa memantau peristiwa yang terjadi pada panorama Street View, seperti saat
pengguna mengetuk panorama. Untuk memproses peristiwa, Anda harus mengimplementasikan metode
Protokol GMSPanoramaViewDelegate
. Lihat keseluruhan
panduan peristiwa dan daftar metode di
GMSPanoramaViewDelegate