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

בחירת פלטפורמה: 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
    }
)