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 地域識別子(2 つの大文字)。例: US

省略可能項目

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

既定のタイルのサイズと対象地域を維持したまま、道路のラベルなどのマップ要素のサイズを拡大します。スケールを大きくすると、地図上のラベルの数も減り、見づらさが軽減されます。次の値は有効な scale 値です。

  • scaleFactor1x: デフォルト。
  • scaleFactor2x: ラベルのサイズを 2 倍にして、重要度が低い地物のラベルを削除します。
  • scaleFactor4x: ラベルのサイズを 4 倍にして、重要度が低い地物のラベルを削除します。

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

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