התאמה לשוק המקומי

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

אפשר לעיין בכיסוי של מפות תלת-ממד ב-Maps JavaScript בטבלת הכיסוי של מפות.

לוקליזציה של שפה

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

ההגדרה של הפרמטר language משפיעה על השפה שבה מוצגים אמצעי הבקרה, תיאורי הכלים והודעות זכויות היוצרים. ההגדרה הזו משפיעה גם על התרגום של מאפיינים פוליטיים, תיאורים ומאפיינים טבעיים, למשל שינוי של 'Geneva' ל-'Genève' או של 'lake' ל-'lac', או שינוי הכיוון שבו השפה מוצגת.

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

  1. הגדרה של Map3DElement. זה המקום הראשון שבו מפות תלת-ממד מחפשות העדפות לוקליזציה.
  2. Maps JavaScript API loader. השפה שצוינה בזמן טעינת Maps JavaScript API.
  3. הגדרת הדפדפן והדומיין. הגדרת השפה בדפדפן משמשת לשפה, והדומיין שממנו נטען Maps JavaScript API משמש לאזור.

בדוגמה הבאה מוצגת מפה בסינית והאזור מוגדר לסין:

TypeScript

async function init() {
    const { Map3DElement } = await google.maps.importLibrary('maps3d');

    const map = new Map3DElement({
        center: {
            lat: 49.75371685807847,
            lng: -123.13227141171181,
            altitude: 30,
        },
        tilt: 50.64793990040634,
        heading: 44.480020261589154,
        range: 51618.36056532338,
        language: 'ZH',
        region: 'CN',
        mode: 'HYBRID',
        gestureHandling: 'COOPERATIVE',
    });

    document.body.append(map);
}

void init();

JavaScript

async function init() {
    const { Map3DElement } = await google.maps.importLibrary('maps3d');

    const map = new Map3DElement({
        center: {
            lat: 49.75371685807847,
            lng: -123.13227141171181,
            altitude: 30,
        },
        tilt: 50.64793990040634,
        heading: 44.480020261589154,
        range: 51618.36056532338,
        language: 'ZH',
        region: 'CN',
        mode: 'HYBRID',
        gestureHandling: 'COOPERATIVE',
    });

    document.body.append(map);
}

void init();

CSS

/* 
 * Always set the map height explicitly to define the size of the div element
 * that contains the map. 
 */
#gmp-map-3d {
    height: 100%;
}
html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
}

HTML

<html>
    <head>
        <title>3d localization</title>

        <link rel="stylesheet" type="text/css" href="./style.css" />
        <script type="module" src="./index.js"></script>
        <script>
            // prettier-ignore
            (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
                key: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8"
            });
        </script>
    </head>
    <body></body>
</html>

דוגמה לניסיון

התאמה לשוק המקומי לפי אזור

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