הגדרת אמצעי הבקרה של המצלמה

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

המשתמשים יכולים לשלוט על שינוי המרחק מהתצוגה, ההטיה, המיקום והסיבוב של המצלמה באמצעות תנועות במפה. אפשר גם להגדיר את המצלמה באופן פרוגרמטי.

דיאגרמה שממחישה את מודל המצלמה התלת-ממדית

מיקום המצלמה

תצוגת המפה מוגדרת כמצלמה שמכוונת לנקודה ספציפית במרחב תלת-ממדי. המיקום והכיוון של המצלמה (ולכן גם העיבוד של המפה) מוגדרים על ידי המאפיינים הבאים: מרכז (מיקום של קו רוחב/קו אורך/גובה שהמצלמה מכוונת אליו), כיוון, הטיה, טווח וגלגול.

מרכז (קו רוחב/קו אורך/גובה)

הערך center מגדיר את הנקודה הספציפית במרחב התלת-ממדי שהמצלמה מתמקדת בה. המיקום מצוין באמצעות המחלקה LatLngAltitude, שמשלבת ערכים של קו רוחב, קו אורך וגובה. כך אפשר למקם בצורה מדויקת את נקודת המיקוד של המצלמה בשלושה ממדים.

קו הרוחב יכול להיות בין ‎-90 ל-90 מעלות, כולל. קו האורך נע בין ‎-180 ל-180 מעלות, כולל. הגובה מצוין במטרים מעל פני הים.

כותרת

הכיוון של המצלמה מציין את הכיוון שאליו המצלמה תופנה, והוא נמדד במעלות בכיוון השעון מצפון אמיתי. צפון מתאים ל-0 מעלות, מזרח ל-90 מעלות, דרום ל-180 מעלות ומערב ל-270 מעלות. ההגדרה הזו קובעת את הכיוון של המצלמה סביב הציר האנכי של נקודת המרכז.

הטיה

התג tilt מציין את זווית המצלמה ביחס לציר האנכי, במעלות. הטיה של 0 מעלות פירושה שהמצלמה מכוונת ישר למטה לכיוון כדור הארץ (נקודת נאדיר). הטיה של 90 מעלות פירושה שהמצלמה מופנית אופקית בכיוון שצוין על ידי הכיוון.

טווח

הטווח מגדיר את המרחק במטרים בין המיקום של המצלמה לבין נקודת המרכז שאליה היא מכוונת. הטווח יכול לנוע מאפס מטרים (תצוגה מקרוב מאוד) ועד לשישים ושלושה מיליון מטרים, כך שאפשר לראות את העולם מקרוב מאוד ועד לנקודת מבט גלובלית. כך למעשה קובעים את רמת ההגדלה או ההקטנה של המפה.

הטלת קובייה

הערך roll מגדיר את זווית המצלמה ביחס לאופק, במעלות. אפשר להשתמש בפרמטר הזה כדי ליצור אפקטים כמו הטיה במהלך סימולציות טיסה, או אפילו גלגול מלא, שבו המצלמה מסתובבת סביב ציר הצפייה שלה.

שליטה במצלמה

בדוגמת הקוד הבאה אפשר לראות איך שולטים במצלמה באופן פרוגרמטי באמצעות הפעלת השיטה setCamera. כדי להשתמש בדוגמת הקוד הזו, צריך לפעול לפי ההוראות במאמרים הגדרה והוספת מפה תלת-ממדית לאפליקציה כדי להגדיר את פרויקט Android Studio עם מפה תלת-ממדית בסיסית. אחר כך מוסיפים את הקוד הבא לקובץ MainActivity.kt:

// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 38.743502
            longitude = -109.499374
            altitude = 1467.0
        }
        heading = 350.0
        tilt = 58.1
        range = 138.2
        roll = 0.0
    }
)