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

セッション トークンは、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 リージョン ID(大文字 2 文字)。例: US

省略可能項目

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

デフォルト タイルのタイルサイズとカバレッジ領域を維持しながら、地図要素(道路ラベルなど)のサイズを拡大します。縮尺を大きくすると、地図のラベルの数も減り、雑然としません。次の値は有効な scale 値です。

  • scaleFactor1x: デフォルト。
  • scaleFactor2x: ラベルサイズを 2 倍にし、マイナーな特徴ラベルを削除します。
  • scaleFactor4x: ラベルサイズを 4 倍にし、マイナーな特徴ラベルを削除します。

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

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