搭配 Map Tiles API 使用工作階段符記

歐洲經濟區 (EEA) 開發人員

工作階段符記是一段資料 (UUID),用於 REST 呼叫,以識別工作階段 (一系列相關訊息交換)。所有 2D 圖塊和街景服務圖像要求,都必須包含工作階段符記。您可將其做為 session 參數的值,附加至所有要求網址。

在 Map Tiles API 中,工作階段符記代表一組定義的顯示選項。這表示您不必在每次提出圖塊要求時,都傳遞一組顯示選項。您可以在多個用戶端使用同一個工作階段符記。工作階段符記目前自核發時間起兩週內有效,但可能會有變動。您隨時可以查看回應訊息中的 expiry 欄位,確認工作階段符記的到期時間。

工作階段符記要求

如要要求工作階段符記,請向 createSession 端點傳送 HTTPS POST 要求,如以下範例所示。傳送要求時,必須附上 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"

必填欄位

mapType

基本地圖類型。這個值可以是下列其中一個:

roadmap
標準 Google 地圖繪製的地圖圖塊。
satellite
衛星圖像。
terrain
地形圖像。如果選取 terrain 做為地圖類型,則必須一併加入 layerRoadmap 圖層類型 (請參閱「選填欄位」一節)。
streetview
街景服務全景。詳情請參閱「街景服務圖塊」。
language

IETF 語言標記,用於指定資訊方塊顯示資訊時使用的語言。舉例來說,en-US 指定的是美國使用的英文。

region

通用語言代碼資料庫區域 ID (兩個大寫字母),代表使用者的實際位置。例如:US。

選填欄位

imageFormat
指定要傳回的檔案格式。有效值為 jpeg 或 png。JPEG 檔案不支援透明度,因此不建議用於疊加圖塊。如未指定 imageFormat,系統會自動選擇最適合圖塊的格式。
scale

放大地圖元素 (例如道路標籤) 的大小,同時保留預設圖塊的圖塊大小和涵蓋範圍。提高比例也會減少地圖上的標籤數量,降低雜亂程度。以下是有效的 scale 值:

  • scaleFactor1x:預設值。
  • scaleFactor2x:將標籤大小加倍,並移除次要地圖項目標籤。
  • scaleFactor4x:將標籤大小放大四倍,並移除次要地圖項目標籤。

以下範例說明縮放地圖元素的效果。

縮放比例係數 1x 縮放比例係數 2x
地圖顯示縮放比例係數 1x 地圖顯示縮放比例係數 2x
highDpi
指定是否傳回高解析度圖塊。如果縮放比例係數增加,系統會使用 highDpi 增加圖塊大小。一般來說,提高縮放比例係數會將產生的圖塊放大為相同大小的圖片,進而降低品質。使用 highDpi 時,產生的圖片大小也會增加,但品質不變。DPI 是指每英寸像素數,高 DPI 表示圖塊每英寸像素數高於正常值。如果為 true,則 x 和 y 維度中的像素數量會乘以縮放比例係數 (即 2 倍或 4 倍)。圖塊的涵蓋範圍維持不變。只有在 scale 值為 2x 或 4x 時,這項參數才會生效。對 1x 縮放圖塊沒有影響。
縮放比例係數 1x 縮放比例係數 2x 高 DPI
以一般解析度顯示地圖 以 2 倍高 DPI 解析度顯示的地圖
layerTypes

指定要新增至地圖的圖層類型,以陣列值表示。有效的值包括:

layerRoadmap
如果將地圖類型指定為 terrain,則必須提供這個屬性。也可以選擇疊加在 satellite 地圖類型上。對路線圖圖塊沒有影響。
layerStreetview
在地圖上以藍色外框顯示支援街景服務的街道和地點。
layerTraffic
顯示目前路況。
styles

JSON 樣式物件陣列,用於指定道路、公園和建築區等地圖項目的外觀和詳細程度。樣式設定可用來自訂標準 Google 基本地圖。只有在地圖類型為 roadmap 時,styles 參數才有效。如需完整的樣式語法,請參閱樣式參考資料。

overlay

布林值,指定是否應將 layerTypes 算繪為獨立疊加層,或與基本圖像合併。如果設為 true,則不會顯示基本地圖。如未定義任何 layerTypes,系統會忽略這個值。

舉例來說,如果要求 satellite 地圖類型和 layerRoadmap 圖層,並將 overlay 設為 false,則產生的圖塊會等同於 Maps JavaScript API 中使用的 hybrid 地圖類型 (左圖)。如果將 overlay 設為 true,則相同的地圖和圖層類型會產生透明圖塊,並疊加訪客分布圖,且樣式適合疊加在衛星圖像上 (右圖)。

overlay: false overlay: true
疊加層設為 false Overlay 設為 true

下列 JSON 是典型要求主體的範例,其中包含必要和選用欄位。

{
  "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" }
      ]
    }
  ]
}

這個範例提供的疊加層適合與衛星圖像結合。範例包含路線圖和街景服務疊加層。產生的地圖會以英文 (美國) 顯示名稱和資料。

工作階段符記回應

以下 JSON 是回應主體範例。

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

以下清單包含回應主體中欄位的定義。

session
工作階段符記值,必須包含在所有 Map Tiles API 要求中。
expiry
字串,包含權杖到期的時間 (自 Epoch 時間起算的秒數)。工作階段符記的有效期限為建立時間起兩週,但這項政策可能隨時變更,恕不另行通知。
tileWidth
圖塊的寬度,以像素為單位。
tileHeight
圖塊的高度,以像素為單位。
imageFormat
圖片格式,可以是 png 或 jpeg。