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

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

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

تحديد اللغة

تستخدم 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: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8"
            });
        </script>
    </head>
    <body></body>
</html>

تجربة نموذج

تحديد المنطقة

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