تحديد اللغة المناسبة للخريطة

يمكنك تخصيص إعدادات اللغة والمنطقة المستخدَمة في الخريطة من خلال تغيير إعدادات اللغة التلقائية ورمز المنطقة للخريطة، ما قد يؤثر في سلوك الخريطة استنادًا إلى البلد أو الإقليم المحدّد.

راجِع تغطية "خرائط ثلاثية الأبعاد" في Maps JavaScript ضمن جدول تغطية الخرائط.

تكييف اللغة مع المنطقة

تستخدم Maps JavaScript API بشكل تلقائي إعدادات اللغة التي يحدّدها المستخدم في المتصفّح لتحديد الترجمة التي سيتم استخدامها للخريطة. ومع ذلك، يمكنك تغيير ذلك وتحديد لغة معيّنة لاستخدامها من خلال ضبط المَعلمة language عند إنشاء خريطة ثلاثية الأبعاد. يمكن تعديل اللغة والمنطقة بعد إعداد الخريطة.

يؤثر ضبط المَعلمة language في اللغة التي يتم عرض عناصر التحكّم وتلميحات الأدوات وإشعارات حقوق الطبع والنشر بها. ويؤثر أيضًا في ترجمة الميزات السياسية والأوصاف والميزات الطبيعية، مثل تغيير "Geneva" إلى "Genève" أو "lake" إلى "lac"، أو تغيير اتجاه عرض اللغة.

تبحث "الخرائط ثلاثية الأبعاد" في Maps JavaScript عن الإعدادات المفضّلة للأقلمة بالترتيب التالي. إذا لم يتم تحديد الإعدادات المفضّلة في الخطوة الأولى، سيستمر البحث بالترتيب المحدّد. يتم حلّ أي تعليمات تعريب متضاربة استنادًا إلى الأولوية المحدّدة أدناه:

  1. تعريف Map3DElement: هذا هو المكان الأول الذي تبحث فيه "خرائط ثلاثية الأبعاد" عن الإعدادات المفضّلة للغة.
  2. أداة تحميل Maps JavaScript API يتم استخدام اللغة المحدّدة عند تحميل 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',
    });

    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',
    });

    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: "GOOGLE_MAPS_API_KEY"
            });
        </script>
    </head>
    <body></body>
</html>

أقلمة المنطقة

يمكن أن تعرض المَعلمة region مربّعات خرائط مختلفة أو أن توجّه التطبيق نحو عرض نتائج أكثر ملاءمةً للمنطقة. بالإضافة إلى ذلك، يضمن ضبط علامة المنطقة امتثال التطبيق للقوانين المحلية من خلال التأكّد من تطبيق الترجمة الصحيحة الخاصة بالمنطقة على البلد الذي تتم فيه استضافة التطبيق.