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

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

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

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

overlay

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

たとえば、layerRoadmap レイヤと overlay を false に設定した satellite 地図タイプをリクエストすると、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 のいずれかです。