Sử dụng mã thông báo phiên với API Thẻ thông tin bản đồ

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

Mã thông báo phiên là một phần dữ liệu (một UUID) được dùng trong các lệnh gọi REST để xác định một phiên – một chuỗi các hoạt động trao đổi thông báo có liên quan. Bạn phải thêm mã thông báo phiên vào tất cả các yêu cầu đối với Ô 2D và hình ảnh Chế độ xem đường phố. Bạn đưa mã này vào làm giá trị của một tham số session được thêm vào tất cả các URL yêu cầu.

Trong Map Tiles API, mã thông báo phiên đại diện cho một tập hợp các lựa chọn hiển thị được xác định. Điều này có nghĩa là bạn không cần phải truyền một bộ lựa chọn hiển thị với mỗi yêu cầu về ô. Bạn có thể sử dụng cùng một mã thông báo phiên trên nhiều ứng dụng. Hiện tại, mã thông báo phiên có hiệu lực trong 2 tuần kể từ thời điểm phát hành, nhưng điều này có thể thay đổi. Bạn luôn có thể kiểm tra thời gian hết hạn của mã thông báo phiên bằng cách xem trường expiry trong thông báo phản hồi.

Yêu cầu mã thông báo phiên

Để yêu cầu mã thông báo phiên, hãy gửi yêu cầu HTTPS POST đến điểm cuối createSession, như trong ví dụ sau. Bạn phải gửi yêu cầu kèm theo tiêu đề Content-Type: application/json.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

Các trường bắt buộc

mapType

Loại bản đồ cơ sở. Giá trị này có thể là một trong những giá trị sau:

roadmap
Các ô bản đồ được vẽ tiêu chuẩn của Google Maps.
satellite
Hình ảnh vệ tinh.
terrain
Hình ảnh địa hình. Khi chọn terrain làm loại bản đồ, bạn cũng phải thêm loại lớp layerRoadmap (được mô tả trong phần Trường không bắt buộc).
streetview
Ảnh toàn cảnh trong Chế độ xem đường phố. Để biết thêm thông tin, hãy xem phần Thẻ thông tin Chế độ xem đường phố.
language

Thẻ ngôn ngữ IETF chỉ định ngôn ngữ dùng để hiển thị thông tin trên các ô. Ví dụ: en-US chỉ định ngôn ngữ tiếng Anh được sử dụng ở Hoa Kỳ.

region

Mã nhận dạng khu vực Kho dữ liệu chung về ngôn ngữ địa phương (gồm 2 chữ cái viết hoa) đại diện cho vị trí thực tế của người dùng. Ví dụ: US.

Trường tuỳ chọn

imageFormat
Chỉ định định dạng tệp cần trả về. Các giá trị hợp lệ là jpeg hoặc png. Tệp JPEG không hỗ trợ độ trong suốt, do đó, bạn không nên dùng tệp này cho các ô lớp phủ. Nếu bạn không chỉ định imageFormat, thì định dạng phù hợp nhất cho ô sẽ được chọn tự động.
scale

Tăng kích thước của các phần tử trên bản đồ (chẳng hạn như nhãn đường), đồng thời vẫn giữ nguyên kích thước ô và vùng phủ sóng của ô mặc định. Việc tăng tỷ lệ cũng làm giảm số lượng nhãn trên bản đồ, giúp giảm tình trạng lộn xộn. Sau đây là các giá trị scale hợp lệ:

  • scaleFactor1x: Mặc định.
  • scaleFactor2x: Tăng gấp đôi kích thước nhãn và xoá các nhãn tính năng phụ.
  • scaleFactor4x: Tăng gấp 4 lần kích thước nhãn và xoá các nhãn đối tượng nhỏ.

Các ví dụ sau đây minh hoạ hiệu ứng của việc điều chỉnh tỷ lệ các phần tử trên bản đồ.

Hệ số tỷ lệ 1x Hệ số tỷ lệ 2x
Bản đồ cho thấy hệ số tỷ lệ 1x Bản đồ cho thấy hệ số tỷ lệ 2x
highDpi
Chỉ định xem có trả về các ô có độ phân giải cao hay không. Nếu hệ số tỷ lệ tăng lên, highDpi sẽ được dùng để tăng kích thước của ô. Thông thường, việc tăng hệ số tỷ lệ sẽ phóng to ô kết quả thành một hình ảnh có cùng kích thước, làm giảm chất lượng. Với highDpi, kích thước kết quả cũng tăng lên, duy trì chất lượng. DPI là viết tắt của Dots per Inch (Số điểm trên mỗi inch) và High DPI (DPI cao) có nghĩa là ô kết xuất bằng cách sử dụng nhiều điểm trên mỗi inch hơn bình thường. Nếu true, thì số lượng pixel trong mỗi chiều x và y sẽ được nhân với hệ số tỷ lệ (tức là 2x hoặc 4x). Phạm vi phủ sóng của ô vẫn không thay đổi. Tham số này chỉ hoạt động với các giá trị scale là 2x hoặc 4x. Chế độ này không ảnh hưởng đến các ô có tỷ lệ 1x.
Hệ số tỷ lệ 1x Hệ số tỷ lệ 2x DPI cao
Bản đồ hiển thị ở độ phân giải thông thường Bản đồ hiển thị ở độ phân giải cao gấp 2 lần
layerTypes

Một mảng các giá trị chỉ định các loại lớp được thêm vào bản đồ. Các giá trị hợp lệ là:

layerRoadmap
Bắt buộc nếu bạn chỉ định terrain làm loại bản đồ. Bạn cũng có thể tuỳ ý phủ lớp này lên loại bản đồ satellite. Không ảnh hưởng đến các ô trên lộ trình.
layerStreetview
Cho biết những đường phố và địa điểm có hỗ trợ Chế độ xem đường phố bằng đường viền màu xanh dương trên bản đồ.
layerTraffic
Hiển thị tình trạng giao thông hiện tại.
styles

Một mảng các đối tượng kiểu JSON chỉ định giao diện và mức độ chi tiết của các đối tượng trên bản đồ, chẳng hạn như đường, công viên và khu vực đô thị. Bạn có thể dùng tính năng tạo kiểu để tuỳ chỉnh bản đồ cơ sở tiêu chuẩn của Google. Tham số styles chỉ hợp lệ nếu loại bản đồ là roadmap. Để biết cú pháp đầy đủ về kiểu, hãy xem Tài liệu tham khảo về kiểu.

overlay

Một giá trị boolean chỉ định xem layerTypes có được kết xuất dưới dạng một lớp phủ riêng biệt hay kết hợp với hình ảnh cơ sở. Khi true, bản đồ cơ sở sẽ không xuất hiện. Nếu bạn chưa xác định bất kỳ layerTypes nào, thì giá trị này sẽ bị bỏ qua.

Ví dụ: yêu cầu loại bản đồ satellite có lớp layerRoadmapoverlay được đặt thành false sẽ tạo ra các ô tương đương với loại bản đồ hybrid được dùng trong API JavaScript của Maps (hình ảnh bên trái). Cùng một loại bản đồ và lớp có overlay được đặt thành true sẽ tạo ra một ô trong suốt có lớp phủ bản đồ, được tạo kiểu phù hợp để phủ lên hình ảnh vệ tinh (hình ảnh bên phải).

overlay: false overlay: true
Lớp phủ được đặt thành false Lớp phủ được đặt thành true

JSON sau đây là ví dụ về một nội dung yêu cầu thông thường chứa cả các trường bắt buộc và không bắt buộc.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

Ví dụ này cung cấp một lớp phủ phù hợp để kết hợp với hình ảnh vệ tinh. Ví dụ này chứa cả lớp phủ chế độ xem đường phố và lộ trình. Bản đồ kết quả được hiển thị bằng tên và dữ liệu bằng tiếng Anh, như được nói ở Hoa Kỳ.

Phản hồi bằng mã thông báo phiên

JSON sau đây là một ví dụ về nội dung phản hồi.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

Danh sách sau đây chứa định nghĩa về các trường trong nội dung phản hồi.

session
Giá trị mã thông báo phiên mà bạn phải thêm vào tất cả các yêu cầu Map Tiles API.
expiry
Một chuỗi chứa thời gian (tính bằng giây kể từ thời gian bắt đầu hệ thống) mà mã thông báo hết hạn. Mã thông báo phiên có hiệu lực trong 2 tuần kể từ thời điểm tạo, nhưng chính sách này có thể thay đổi mà không cần thông báo.
tileWidth
Chiều rộng của các ô, tính bằng pixel.
tileHeight
Chiều cao của các ô được đo bằng pixel.
imageFormat
Định dạng hình ảnh, có thể là png hoặc jpeg.