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

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

Map Tiles API では、セッション トークンは定義済みの表示オプションのセットを表します。タイルのリクエストごとに表示オプション セットを渡す必要はありません。複数のクライアントで同じセッション トークンを使用できます。セッション トークンは現在、発行時点から 2 週間有効ですが、有効期間は変更される可能性があります。セッション トークンの有効期限は、レスポンス メッセージの expiry フィールドでいつでも確認できます。

セッション トークン リクエスト

セッション トークンをリクエストするには、次の例に示すように、HTTPS POST リクエストを createSession エンドポイントに送信します。リクエストは 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 倍にし、マイナーな特徴ラベルを削除します。

次の例は、マップ要素のスケーリングの効果を示しています。

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

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

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

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

overlay

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

たとえば、layerRoadmap レイヤを含む satellite マップタイプをリクエストし、overlayfalse に設定すると、Maps JavaScript API で使用されている hybrid マップタイプと同等のタイルが表示されます(左の画像)。同じ地図タイプとレイヤタイプで overlaytrue に設定すると、航空写真(右の画像)に重ねるのに適したスタイルが設定された、地図のオーバーレイを含む透明なタイルが作成されます。

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

この例は、衛星画像と組み合わせるのに適したオーバーレイを提供します。この例には、ロードマップとストリートビューのオーバーレイの両方が含まれています。作成された地図は、米国で使用される英語の名前とデータでレンダリングされます。

apiOptions: 適用する追加のオプションを指定する値の配列。使用可能なオプションは次のとおりです。

  • MCYJ5E517XR2JC - 新しい地図のスタイルにオプトインします。この値を指定しない限り、オプトイン期間中はリクエストに既存のスタイルが適用されます。

セッション トークン レスポンス

次の JSON はレスポンス本文の例です。

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

レスポンスの本文のフィールドの定義は次のとおりです。

session
すべての Map Tiles API リクエストに含める必要があるセッション トークン値。
expiry
トークンの有効期限が切れる時刻(エポックからの秒数)を含む文字列。セッション トークンは作成時点から 2 週間有効ですが、このポリシーは予告なく変更される場合があります。
tileWidth
タイルの幅(ピクセル単位)。
tileHeight
タイルの高さ(ピクセル単位)。
imageFormat
画像形式(png または jpeg)。