Anda sudah siap!

Untuk mulai mengembangkan, masuklah ke dokumentasi developer kami.

Aktifkan Google Maps SDK for iOS

Untuk membantu Anda memulai, kami akan memandu Anda melalui Google Developers Console untuk melakukan beberapa hal terlebih dahulu:

  1. Buat atau pilih sebuah proyek
  2. Aktifkan Google Maps SDK for iOS
  3. Buat kunci yang sesuai
Lanjutkan

Street View

Google Maps Street View memungkinkan Anda menjelajahi tempat-tempat di seluruh dunia melalui gambar 360 derajat, hingga tingkat jalan. Anda bisa menjelajahi landmark dunia, menampilkan keajaiban alam, menyusuri perjalanan, atau menampilkan bagian luar bisnis Anda.

Ringkasan

Google Street View menyediakan tampilan panorama 360-derajat dari jalan yang dipilih sampai area cakupan. Cakupan yang tersedia melalui SDK sama dengan cakupan Google Maps untuk aplikasi iOS atau https://maps.google.com/. Anda bisa membaca selengkapnya tentang Street View dan melihat area yang didukung pada peta interaktif, di Tentang Street View.

Google Maps SDK for iOS menyediakan layanan Street View untuk memperoleh dan memanipulasi gambar yang digunakan dalam Google Maps Street View. Gambar Street View dikembalikan sebagai panorama dan dilihat dari dalam penampil Street View — objek bertipe 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 mendefinisikan proyeksi pada bola dunia dengan gambar yang dibalutkan ke permukaan bola dunia dua dimensi tersebut.

Panorama Street View bisa dilihat dengan objek GMSPanoramaView. Objek ini menyediakan penampil yang merender panorama sebagai bola dunia, dengan kamera di tengahnya. Anda bisa mengontrol orientasi kamera lewat program, 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 bisa berubah seiring waktu, dan tidak cocok sebagai referensi jangka panjang atau hard code. panoramaID paling cocok digunakan untuk menyediakan akses terprogram ke berbagai gambar Street View. Catatan: Panorama Innerspace dan panorama Fotosfer tidak didukung saat ini.
coordinate
Lokasi yang akurat dari gambar ini, dinyatakan berupa CLLocationCoordinate2D. Gunakan coordinate untuk storage tetap lokasi panorama, atau untuk menerjemahkan tindakan pengguna pada peta menjadi gambar Street View.

Baik panoramaID maupun coordinate akan disimpan sebagai properti objek GMSPanorama. Anda bisa meminta GMSPanorama dari GMSPanoramaService menggunakan coordinate atau panoramaID. Objek yang dihasilkan akan menyertakan kedua buah metadata, serta larik tautan ke panorama terdekat.

Menampilkan gambar Street View

Menambahkan penampil Street View

Langkah-langkah dasar untuk menambahkan penampil adalah:

  1. (Sekali) Ikuti langkah-langkah dalam Panduan Memulai untuk mendapatkan SDK, memperoleh kunci dan menambahkan kerangka kerja yang diperlukan.
  2. Buat atau perbarui ViewController. Jika panorama akan ditampilkan bila pengontrol tampilan ini terlihat, pastikan membuatnya dalam metode loadView.
  3. Buat dan hasilkan instance kelas GMSPanoramaView menggunakan metode GMSPanoramaView initWithFrame:. Jika ini akan digunakan sebagai satu-satunya pengontrol tampilan, maka CGRectZero bisa digunakan sebagai bingkai peta — peta akan diubah ukurannya secara otomatis.
  4. Setel objek GMSPanoramaView sebagai tampilan dari pengontrol tampilan, mis. self.view = panoView;.
  5. Setel lokasi gambar Street View menggunakan metode seperti moveNearCoordinate:.

Contoh di bawah ini menambahkan penampil Street View ke sebuah aplikasi.

Swift

import UIKit
import GoogleMaps

class ViewController: UIViewController, GMSMapViewDelegate {

  override func loadView() {
    let panoView = GMSPanoramaView(frame: .zero)
    self.view = panoView

    panoView.moveNearCoordinate(CLLocationCoordinate2D(latitude: -33.732, longitude: 150.312))
  }
}

Objective-C

#import "ViewController.h"
@import GoogleMaps;

@implementation ViewController

- (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, pergeseran, zoom, dan perjalanan ke panorama yang berdekatan akan diaktifkan semua. Isyarat individual dikontrol melalui properti GMSPanoramaView. Properti ini mengaktifkan atau menonaktifkan isyarat yang dikontrol pengguna; perubahan terprogram masih dimungkinkan bila isyarat dinonaktifkan.

orientationGestures
Apakah pengguna akan bisa mengarahkan ulang kamera dengan mengetuk atau menyeret. Setel ke NO untuk menonaktifkan perubahan orientasi pada kamera.
zoomGestures
Apakah pengguna akan bisa mencubit untuk melakukan zoom. Setel ke NO untuk menonaktifkan zoom.
navigationGestures
Apakah pengguna bisa mengubah panorama mana yang terlihat. Pengguna bisa menggunakan satu ketukan pada tautan navigasi, atau ketukan dua kali pada tampilan untuk mengubah panorama. Setel ke NO untuk menonaktifkan perubahan navigasi.

Anda bisa mengaktifkan atau menonaktifkan semua isyarat sekaligus dengan metode setAllGesturesEnabled:.

[panoView_ setAllGesturesEnabled:NO];

Menjalankan Street View dengan Skema URL

Gambar Google Street View akan terlihat dari dalam Google Maps untuk aplikasi iOS. Anda bisa meluncurkan Google Maps untuk aplikasi iOS dalam mode street view dengan comgooglemaps URL Scheme dengan menyetel parameter mapmode ke streetview. Sebuah contoh URL yang akan meluncurkan Street View tampak 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 menyetel 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

let panoView = GMSPanoramaView(frame: .zero)
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)

Objective-C

GMSPanoramaView *panoView = [[GMSPanoramaView alloc] initWithFrame:CGRectZero];
panoView_.camera = [GMSPanoramaCamera cameraWithHeading:180
                                                  pitch:-10
                                                   zoom:1];

Orientasi

Lokasi Street View mendefinisikan penempatan fokus kamera untuk sebuah gambar, namun tidak mendefinisikan orientasi kamera untuk gambar itu. Untuk keperluan itu, objek GMSOrientation mendefinisikan dua properti:

  • heading mendefinisikan sudut rotasi sekeliling lokus kamera dalam derajat dari utara sebenarnya. Arah tujuan diukur searah jarum jam: utara sebenarnya adalah 0, timur 90, selatan 180, barat 270.
  • pitch (default 0) mendefinisikan perbedaan sudut "atas" atau "bawah" dari pitch default awal kamera, yang sering kali (namun 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 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 bisa menyetel tingkat zoom lewat program, atau pengguna bisa mengubah tingkat zoom di penampil dengan gerakan mencubit untuk zoom.

Menggerakkan kamera

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

Anda bisa memodifikasi objek GMSPanoramaCamera, dan menyetelnya di GMSPanoramaView pada properti camera. Ini akan mengikat kamera ke sudut pandang baru tanpa animasi. Sebuah GMSCameraPosition bisa dibuat untuk mengonfigurasi kombinasi dari orientasi dan zoom.

Swift

let panoView = GMSPanoramaView(frame: .zero)
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)

Objective-C

GMSPanoramaView *panoView = [[GMSPanoramaView alloc] initWithFrame:CGRectZero];
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];

Anda bisa menganimasikan transisi dengan memanggil metode animateToCamera:animationDuration: dari GMSPanoramaView. Selain itu, Anda bisa mengontrol kamera menggunakan Core Animation. Ini tersedia melalui CALayer khusus pada GMSPanoramaView, GMSPanoramaLayer.

Marker dalam Street View

Objek GMSPanoramaView bisa menampilkan marker peta. Anda bisa menggunakan objek GMSMarker yang sama pada objek GMSMapView atau GMSPanoramaView dengan menetapkan propertinya:

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;

Marker akan menskalakan ukuran sebagai fungsi jarak antara posisi marker dan lokasi GMSCameraView. Jika jarak ini terlalu besar, marker akan menjadi terlalu kecil untuk ditampilkan dan akan disembunyikan dari tampilan.

Catatan: Tidak semua fitur marker tersedia saat menggunakan GMSPanoramaView.

Setel properti panoramaView ke nil untuk membuangnya dari GMSPanoramaView.

Swift

marker.panoramaView = nil

Objective-C

marker.panoramaView = nil;

Kejadian

Anda bisa memantau kejadian yang terjadi pada panorama Street View, seperti saat pengguna mengetuk panorama. Untuk memantau kejadian, Anda harus mengimplementasikan protokol GMSPanoramaViewDelegate. Lihat keseluruhan panduan kejadian dan daftar metode pada GMSPanoramaViewDelegate.

Kirim masukan tentang...

Google Maps SDK for iOS
Google Maps SDK for iOS
Butuh bantuan? Kunjungi halaman dukungan kami.