Street View

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pilih platform: Android iOS JavaScript

Google Maps Street View memungkinkan Anda menjelajahi tempat-tempat di seluruh dunia melalui citra tingkat jalan 360 derajat. Anda dapat menjelajahi tolok ukur dunia, melihat keajaiban alam, menavigasi perjalanan, atau menunjukkan bagian 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 sama seperti cakupan untuk aplikasi Google Maps for iOS atau https://maps.google.com/. Anda dapat membaca selengkapnya tentang Street View dan melihat area yang didukung pada peta interaktif, di Tentang Street View.

Maps SDK for iOS menyediakan layanan Street View untuk memperoleh dan memanipulasi gambar yang digunakan dalam Google Maps Street View. Gambar Street View ditampilkan sebagai panorama dan dilihat dari dalam penampil Street View — objek dari 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 proyeksi equirectangular (Plate Carrée), yang berisi tampilan horizontal 360 derajat (satu putaran penuh) dan tampilan vertikal 180 derajat (dari lurus ke atas sampai lurus ke bawah). Panorama 360 derajat yang dihasilkan menentukan proyeksi pada bola dunia dengan gambar yang dibalutkan ke permukaan bola dunia dua dimensi tersebut.

Panorama Street View dapat dilihat dengan objek GMSPanoramaView. Objek ini memberikan penampil yang akan merender panorama sebagai bola dunia, dengan kamera di tengahnya. Anda dapat mengontrol orientasi kamera secara terprogram, serta beberapa properti untuk menyesuaikan 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 sebagai referensi jangka panjang atau hard code. panoramaID adalah yang terbaik untuk memberikan akses terprogram ke berbagai gambar Street View.
coordinate
Lokasi akurat gambar ini, yang dinyatakan sebagai CLLocationCoordinate2D. Gunakan coordinate untuk penyimpanan persisten lokasi panorama, atau untuk menerjemahkan tindakan pengguna pada peta menjadi gambar Street View.

Baik panoramaID maupun coordinate disimpan sebagai properti objek GMSPanorama. Anda dapat meminta GMSPanorama dari GMSPanoramaService menggunakan coordinate atau panoramaID. Objek yang dihasilkan akan menyertakan kedua meta-data, serta array link ke panorama terdekat.

Menetapkan lokasi panorama

Lokasi panorama Street View dapat ditetapkan berdasarkan koordinat.

  • Metode moveNearCoordinate meminta panorama di dekat koordinat.

  • Metode moveNearCoordinate:radius mirip, tetapi memungkinkan Anda menentukan radius penelusuran, dalam meter, di sekitar koordinat.

  • Metode moveNearCoordinate:source memungkinkan Anda menentukan sumber. Sebuah sumber berguna jika Anda ingin membatasi Street View agar hanya mencari panorama di luar. Secara default, panorama lokasi berada di dalam atau di luar. Perhatikan bahwa 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:

  1. (Sekali) Ikuti langkah-langkah di bagian Mulai untuk mendapatkan SDK, mendapatkan kunci, dan menambahkan framework yang diperlukan.
  2. Buat atau perbarui ViewController. Jika panorama akan ditampilkan saat pengontrol tampilan ini terlihat, pastikan untuk membuatnya dalam metode loadView.
  3. Buat dan buat instance class GMSPanoramaView menggunakan metode GMSPanoramaView initWithFrame:. Jika ini akan digunakan sebagai satu-satunya tampilan pengontrol tampilan, CGRectZero dapat digunakan sebagai frame peta — peta akan diubah ukurannya secara otomatis.
  4. Tetapkan objek GMSPanoramaView sebagai tampilan pengontrol tampilan, misalnya, self.view = panoView;.
  5. Tetapkan 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. Secara default, menggeser, memperbesar/memperkecil, dan bepergian ke panorama yang berdekatan akan diaktifkan. Masing-masing gestur dikontrol melalui properti GMSPanoramaView. Properti ini mengaktifkan atau menonaktifkan gestur yang dikontrol pengguna; perubahan terprogram masih memungkinkan saat gestur dinonaktifkan.

orientationGestures
Apakah pengguna akan bisa 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. Setel ke NO untuk menonaktifkan zoom.
navigationGestures
Apakah pengguna akan dapat mengubah panorama mana yang terlihat. Pengguna dapat menggunakan sekali ketuk pada link navigasi atau mengetuk dua kali pada tampilan untuk mengubah panorama yang disetel 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

Citra Google Street View dapat dilihat dari dalam aplikasi Google Maps untuk iOS. Anda dapat meluncurkan aplikasi Google Maps untuk iOS dalam mode Street View dengan Skema URL comgooglemaps dengan menetapkan parameter mapmode ke streetview. Contoh URL yang akan meluncurkan Street View akan muncul di bawah ini. Untuk informasi selengkapnya, lihat dokumentasi Skema URL.

comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Lokasi Street View dan sudut pandang (POV)

GMSPanoramaCamera memungkinkan Anda menetapkan sudut pandang kamera Street View sebagai kombinasi arah tujuan, pitch, dan zoom.

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 relatif dari utara sejati. Arah diukur searah jarum jam: utara sejati adalah 0, timur 90, selatan 180, barat 270.
  • pitch (default 0) menentukan varian sudut "atas" atau "bawah" dari pitch default awal kamera, yang sering kali (tetapi tidak selalu) horizontal datar. (Misalnya, gambar yang diambil dari atas bukit kemungkinan akan menampilkan pitch default yang tidak horizontal.) Sudut pitch diukur dengan nilai positif yang melihat ke atas (hingga +90 derajat lurus ke atas dan ortogonal ke pitch default) dan nilai negatif yang melihat ke bawah (hingga -90 derajat lurus ke bawah dan ortogonal ke pitch default).

Lihat

Street View mendukung berbagai tingkat detail gambar melalui penggunaan zoom. Anda dapat menetapkan tingkat zoom secara terprogram, atau pengguna dapat mengubah tingkat zoom di penampil dengan mencubit untuk melakukan zoom.

Menggerakkan kamera

Setelah membuat GMSPanoramaView, dan memiliki kamera yang dikonfigurasi atau default, Anda dapat mengubahnya dengan salah satu dari beberapa cara. Saat mengubah kamera, Anda memiliki opsi untuk menganimasikan gerakan kamera yang dihasilkan. Animasi disisipkan di antara atribut kamera saat ini dan atribut kamera baru.

Anda dapat mengubah objek GMSPanoramaCamera dan menyetelnya di properti camera GMSPanoramaView. Tindakan ini akan mengikat kamera ke sudut pandang baru tanpa animasi. GMSCameraPosition dapat dibuat untuk mengonfigurasi kombinasi orientasi dan zoom apa pun.

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: GMSPanoramaView. Selain itu, Anda bisa mengontrol kamera menggunakan Core Animation. Ini tersedia melalui CALayer kustom pada GMSPanoramaView, GMSPanoramaLayer.

Penanda dalam Street View

Objek GMSPanoramaView dapat menampilkan penanda peta. Anda dapat menggunakan objek GMSMarker yang sama pada objek 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 besar, penanda akan menjadi terlalu kecil untuk ditampilkan dan akan disembunyikan dari tampilan.

Tetapkan properti panoramaView ke nil untuk menghapusnya dari GMSPanoramaView.

Swift

marker.panoramaView = nil
      

Objective-C

marker.panoramaView = nil;
      

Peristiwa

Anda dapat memproses peristiwa yang terjadi pada panorama Street View, seperti saat pengguna mengetuk panorama. Untuk memproses peristiwa, Anda harus menerapkan protokol GMSPanoramaViewDelegate. Lihat panduan peristiwa secara keseluruhan dan daftar metode pada GMSPanoramaViewDelegate.