Map Tiles API でセッション トークンを使用する

欧州経済領域(EEA)のデベロッパー

セッション トークンは、REST 呼び出しでセッション(一連の関連するメッセージ交換)を識別するために使用されるデータ(UUID)です。2D タイルとストリートビューの画像のリクエストにはすべてセッション トークンを含める必要があります。この値は、すべてのリクエスト URL に追加される session パラメータの値として含めます。

Map Tiles API では、セッション トークンは定義済みの表示オプションのセットを表します。つまり、各タイルのリクエストで表示オプションのセットを渡す必要がなくなります。複数のクライアントで同じセッション トークンを使用できます。セッション トークンの有効期間は現在、発行時から 2 週間ですが、変更される可能性があります。セッション トークンの有効期限は、レスポンス メッセージの 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

ユーザーの物理的な位置を表す Common Locale Data Repository の地域識別子(大文字 2 文字)。例: US

省略可能項目

imageFormat
返されるファイル形式を指定します。有効な値は jpeg または png です。JPEG ファイルは透明度をサポートしていないため、オーバーレイ タイルにはおすすめしません。imageFormat を指定しない場合、タイルの最適な形式が自動的に選択されます。
scale

地図要素(道路ラベルなど)のサイズを拡大します。タイルのサイズとデフォルトのタイルのカバレッジ領域は維持されます。スケールを大きくすると、地図上のラベルの数も減り、ごちゃごちゃした感じがなくなります。有効な scale 値は次のとおりです。

  • scaleFactor1x: デフォルト。
  • scaleFactor2x: ラベルのサイズを 2 倍にし、マイナー機能のラベルを削除します。
  • scaleFactor4x: ラベルのサイズを 4 倍にし、マイナーなフィーチャー ラベルを削除します。

次の例は、地図要素をスケーリングした場合の効果を示しています。

スケーリング ファクタ 1x スケール ファクタ 2x
スケーリング ファクタ 1x の地図 スケーリング ファクタ 2 倍の地図
highDpi
高解像度タイルを返すかどうかを指定します。スケール ファクタが増加すると、highDpi を使用してタイルのサイズが増加します。通常、スケール ファクタを大きくすると、結果のタイルが同じサイズの画像に拡大され、品質が低下します。highDpi を使用すると、品質を維持しながら結果のサイズも大きくなります。DPI は Dots per Inch(1 インチあたりのドット数)の略で、High DPI は、タイルが通常よりも多くのドット数でレンダリングされることを意味します。true の場合、x ディメンションと y ディメンションのそれぞれのピクセル数にスケール ファクタ(2 倍または 4 倍)が乗算されます。タイルのカバレッジ エリアは変更されません。このパラメータは、scale の値が 2 倍または 4 倍の場合にのみ機能します。1 倍のスケールタイルには影響しません。
スケーリング ファクタ 1x スケール ファクタ 2x High DPI
通常の解像度で表示された地図 2 倍の高 DPI 解像度で表示される地図
layerTypes

地図に追加するレイヤタイプを指定する値の配列。指定できる値は次のとおりです。

layerRoadmap
マップタイプとして terrain を指定する場合は必須です。satellite 地図の種類にオプションで重ね合わせることもできます。ロードマップ タイルには影響しません。
layerStreetview
ストリートビューが利用可能な道路や場所を地図上で青い枠線で示します。
layerTraffic
現在の交通状況が表示されます。
styles

道路、公園、市街地などの地図上の対象物の外観と詳細レベルを指定する JSON スタイル オブジェクトの配列。スタイル設定は、標準の Google 基本地図をカスタマイズするために使用されます。styles パラメータは、地図の種類が roadmap の場合にのみ有効です。完全なスタイル構文については、スタイル リファレンスをご覧ください。

overlay

layerTypes を個別のオーバーレイとしてレンダリングするか、ベース画像と組み合わせてレンダリングするかを指定するブール値。true の場合、基本地図は表示されません。layerTypes が定義されていない場合、この値は無視されます。

たとえば、layerRoadmap レイヤで satellite 地図の種類をリクエストし、overlay を false に設定すると、Maps JavaScript API で使用される hybrid 地図の種類(左の画像)と同等のタイルが生成されます。overlay を true に設定した同じ地図タイプとレイヤタイプでは、地図上のデータ表示を含む透明なタイルが生成され、衛星画像の上に重ねるのに適したスタイルが適用されます(右側の画像)。

overlay: false overlay: true
オーバーレイが false に設定されている オーバーレイが 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
トークンの有効期限が切れる時刻(エポックからの経過秒数)を含む文字列。セッション トークンは作成時から 2 週間有効ですが、このポリシーは予告なく変更される可能性があります。
tileWidth
タイルの幅(ピクセル単位)。
tileHeight
タイルの高さ(ピクセル単位)。
imageFormat
画像形式。png または jpeg のいずれかになります。