הגדרת הגבלות על המפה והמצלמה

בחירת פלטפורמה: Android iOS JavaScript

תצוגת מפה עם הגבלות על פקדי המצלמה

דוגמת הקוד הבאה ממחישה איך להשתמש ב-CameraRestriction כדי להגביל את הגבולות הגיאוגרפיים של המצלמה ואת הערכים של הגובה, הכיוון וההטיה של המצלמה. כדי להשתמש בדוגמת הקוד הזו, צריך לפעול לפי ההוראות בקטע הגדרה ובקטע הוספת מפה תלת-ממדית לאפליקציה כדי להגדיר את הפרויקט ב-Android Studio עם מפה תלת-ממדית בסיסית. לאחר מכן, מוסיפים את הקוד הבא לקובץ 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
}