Định cấu hình các quy định hạn chế đối với bản đồ và máy ảnh

Chọn nền tảng: Android iOS JavaScript

Chế độ xem bản đồ cho thấy các hạn chế về chế độ điều khiển camera

Mẫu mã sau đây minh hoạ cách sử dụng CameraRestriction để hạn chế cả ranh giới địa lý của camera và các giá trị về độ cao, hướng và độ nghiêng của camera. Để sử dụng mã mẫu này, hãy làm theo hướng dẫn trong phần Thiết lậpThêm bản đồ 3D vào ứng dụng để thiết lập dự án Android Studio bằng một bản đồ 3D cơ bản. Sau đó, hãy thêm đoạn mã sau vào tệp MainActivity.kt:

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.LatLngAltitude
import com.google.android.gms.maps3d.model.cameraRestriction
import com.google.android.gms.maps3d.model.latLngAltitude
import com.google.android.gms.maps3d.model.latLngBounds
import com.google.android.gms.maps3d.model.polygonOptions

const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

private const val NYC_SOUTH_WEST_LAT = 40.68563088976172
private const val NYC_SOUTH_WEST_LNG = -74.05030430240065
private const val NYC_NORTH_EAST_LAT = 40.85649214337128
private const val NYC_NORTH_EAST_LNG = -73.80240973771173
private const val MAX_ALTITUDE_NYC_METERS = 10000.0
private const val MIN_ALTITUDE_NYC_METERS = 500.0

private val nycBounds = latLngBounds {
    northEastLat = NYC_NORTH_EAST_LAT
    northEastLng = NYC_NORTH_EAST_LNG
    southWestLat = NYC_SOUTH_WEST_LAT
    southWestLng = NYC_SOUTH_WEST_LNG
}

// Define the restrictions
val nycCameraRestriction = cameraRestriction {
  minAltitude = MIN_ALTITUDE_NYC_METERS
  maxAltitude = MAX_ALTITUDE_NYC_METERS
  minHeading = 0.0
  maxHeading = 360.0
  minTilt = 0.0
  maxTilt = 90.0
  bounds = nycBounds
}