Mã thông báo phiên là một phần dữ liệu (UUID) được dùng trong các lệnh gọi REST để xác định phiên – một loạt các lượt trao đổi thông báo có liên quan. Bạn phải đưa mã thông báo phiên vào tất cả các yêu cầu về Thẻ thông tin 2D và hình ảnh Chế độ xem đường phố.
Bạn đưa giá trị này vào dưới dạng giá trị của tham số session
được thêm vào tất cả URL yêu cầu.
Trong API Thẻ thông tin của bản đồ, mã thông báo phiên đại diện cho một tập hợp các tuỳ chọn hiển thị đã xác định. Điều này có nghĩa là bạn không phải truyền một tập hợp các tuỳ chọn hiển thị với mỗi yêu cầu thẻ thông tin. 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.
Mã thông báo phiên hiệ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 POST qua HTTPS đến điểm cuối createSession
, như trong ví dụ sau. Bạn phải gửi yêu cầu có 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ẽ theo 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ớplayerRoadmap
(đượ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 bài viết 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 thẻ thông tin. Ví dụ:
en-US
chỉ định ngôn ngữ tiếng Anh như được nói ở Hoa Kỳ.region
Giá trị nhận dạng khu vực của Kho dữ liệu ngôn ngữ chung (hai 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 tùy chọn (trường không bắt buộc)
imageFormat
- Chỉ định định dạng tệp cần trả về. Các giá trị hợp lệ là
jpeg
hoặcpng
. Tệp JPEG không hỗ trợ tính năng trong suốt, do đó, bạn không nên sử dụng các tệp này cho thẻ thông tin lớp phủ. Nếu bạn không chỉ địnhimageFormat
, thì định dạng tốt nhất cho thẻ thông tin sẽ được chọn tự động. scale
Tăng kích thước của các phần tử bản đồ (chẳng hạn như nhãn đường), trong khi vẫn giữ lại kích thước ô và vùng phủ sóng của ô mặc định. Việc tăng tỷ lệ cũng giảm số lượng nhãn trên bản đồ, giúp giảm tình trạng lộn xộn. Các giá trị sau đây là giá trị
scale
hợp lệ:scaleFactor1x
: Mặc định.scaleFactor2x
: Nhân đôi kích thước nhãn và xoá nhãn tính năng phụ.scaleFactor4x
: Gấp bốn kích thước nhãn và xoá nhãn tính năng phụ.
Các ví dụ sau đây minh hoạ tác động của việc chia tỷ lệ các phần tử bản đồ.
Hệ số tỷ lệ 1x | Hệ số tỷ lệ 2x |
---|---|
highDpi
- Chỉ định xem có trả về thẻ thông tin có độ phân giải cao hay không. Nếu tăng hệ số tỷ lệ,
highDpi
sẽ được dùng để tăng kích thước của thẻ thông tin. 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ớihighDpi
, kích thước kết quả cũng tăng lên, giúp 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à DPI cao có nghĩa là thẻ thông tin hiển thị bằng cách sử dụng nhiều điểm hơn trên mỗi inch so với bình thường. Nếu làtrue
, thì số pixel trong mỗi kích thước 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 thẻ thông tin vẫn giữ nguyên. 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 thẻ thông tin theo tỷ lệ 1x.
Hệ số tỷ lệ 1x | Hệ số tỷ lệ 2x DPI cao |
---|---|
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 đồ. Cũng có thể được phủ lên loại bản đồsatellite
(không bắt buộc). Không ảnh hưởng đến thẻ lộ trình. layerStreetview
- Hiển thị các đường phố và vị trí có 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 xây dựng. Kiểu được dùng để 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 đủ của kiểu, hãy xem Tài liệu tham khảo về kiểu.overlay
Giá trị boolean chỉ định liệu
layerTypes
có được kết xuất dưới dạng lớp phủ riêng biệt hay kết hợp với hình ảnh cơ sở. Khitrue
, bản đồ cơ sở sẽ không được hiển thị. 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
với lớp layerRoadmap
và overlay
được đặt thành false
sẽ dẫn đến các ô tương đương với loại bản đồ hybrid
được sử dụng trong API JavaScript của Maps (hình bên trái). Cùng một loại bản đồ và lớp với overlay
được đặt thành true
sẽ tạo ra một ô trong suốt với 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 |
---|---|
JSON sau đây là ví dụ về một nội dung yêu cầu thông thường chứa 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ả bản đồ đường và lớp phủ chế độ xem đường phố. Bản đồ thu được được kết xuất bằng tên và dữ liệu bằng tiếng Anh, vì đó là ngôn ngữ được nói ở Hoa Kỳ.
apiOptions
: Một mảng các giá trị chỉ định các tuỳ chọn bổ sung cần áp dụng.
Các tuỳ chọn được hỗ trợ là:
MCYJ5E517XR2JC
– Chọn sử dụng kiểu bản đồ mới. Trong thời gian chọn sử dụng, các yêu cầu của bạn sẽ nhận được kiểu hiện có trừ phi bạn chỉ định giá trị này.
Phản hồi mã thông báo phiên
JSON sau đây là nội dung phản hồi mẫu.
{
"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 đưa vào tất cả các yêu cầu API Thẻ thông tin trên bản đồ.
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 sẽ hết hạn. Mã thông báo phiên có hiệu lực trong vòng 2 tuần kể từ thời điểm tạo mã, 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 thẻ thông tin được đo bằng pixel.
tileHeight
- Chiều cao của thẻ thông tin được đo bằng pixel.
imageFormat
- Định dạng hình ảnh, có thể là
png
hoặcjpeg
.