Nội địa hoá bản đồ

Bạn có thể tuỳ chỉnh chế độ cài đặt ngôn ngữ và khu vực được dùng trong bản đồ bằng cách thay đổi chế độ cài đặt ngôn ngữ mặc định và mã khu vực của bản đồ. Điều này có thể ảnh hưởng đến hành vi của bản đồ dựa trên quốc gia hoặc lãnh thổ được chỉ định.

Xem phạm vi phủ sóng của Maps 3D trong Maps JavaScript trong bảng Phạm vi phủ sóng của Maps.

Bản địa hoá ngôn ngữ

Theo mặc định, Maps JavaScript API sử dụng chế độ cài đặt ngôn ngữ mà người dùng chỉ định trong trình duyệt của họ để xác định bản dịch nào của bản đồ sẽ sử dụng. Tuy nhiên, bạn có thể thay đổi chế độ này và đặt một ngôn ngữ cụ thể để sử dụng bằng cách đặt tham số language khi tạo bản đồ 3D. Bạn có thể cập nhật ngôn ngữ và khu vực sau khi bản đồ được khởi tạo.

Việc đặt tham số language sẽ ảnh hưởng đến ngôn ngữ mà các chế độ kiểm soát, chú thích và thông báo bản quyền được hiển thị. Chế độ này cũng ảnh hưởng đến bản dịch của các đối tượng, nội dung mô tả và đối tượng tự nhiên; chẳng hạn như thay đổi "Geneva" thành "Genève" hoặc "hồ" thành "lac", hoặc thay đổi hướng hiển thị ngôn ngữ.

Bản đồ 3D trong Maps JavaScript sẽ tìm kiếm các lựa chọn ưu tiên về bản địa hoá theo thứ tự sau. Nếu các lựa chọn ưu tiên không được xác định ở bước đầu tiên, thì quá trình này sẽ tiếp tục tìm kiếm theo thứ tự đã chỉ định. Mọi chỉ dẫn bản địa hoá xung đột sẽ được giải quyết dựa trên mức độ ưu tiên được xác định bên dưới:

  1. Định nghĩa Map3DElement. Đây là nơi đầu tiên mà Maps 3D tìm kiếm các lựa chọn ưu tiên về ngôn ngữ.
  2. Trình tải Maps JavaScript API. Ngôn ngữ được chỉ định khi tải Maps JavaScript API sẽ được dùng.
  3. Chế độ cài đặt trình duyệt và miền. Chế độ cài đặt trình duyệt được dùng cho ngôn ngữ và miền mà Maps JavaScript API được tải từ đó được dùng cho khu vực.

Ví dụ sau đây cho thấy một bản đồ bằng tiếng Trung và đặt khu vực thành Trung Quốc:

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>

Bản địa hoá theo khu vực

Tham số region có thể phân phát các ô bản đồ khác nhau hoặc thiên về kết quả phù hợp hơn theo khu vực cho ứng dụng. Ngoài ra, việc đặt thẻ khu vực đảm bảo rằng ứng dụng tuân thủ luật pháp địa phương bằng cách đảm bảo rằng chế độ bản địa hoá theo khu vực chính xác được áp dụng cho quốc gia nơi ứng dụng được lưu trữ.