Используйте токены сеанса с API плиток карты

Токен сеанса — это фрагмент данных ( UUID ), который используется в вызовах REST для идентификации сеанса — серии связанных обменов сообщениями. Вы должны включать токен сеанса во все запросы на 2D-плитки и изображения Street View. Вы включаете его как значение параметра session , добавляемого ко всем URL-адресам запроса.

В API Map Tiles токен сеанса представляет собой определенный набор параметров отображения. Это означает, что вам не нужно передавать набор параметров отображения с каждым запросом плитки. Вы можете использовать один и тот же токен сеанса для нескольких клиентов. В настоящее время токен сеанса действителен в течение двух недель с момента его выдачи, но это может измениться. Вы всегда можете проверить срок действия токена сеанса, посмотрев поле 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 Maps.
satellite
Спутниковые снимки.
terrain
Изображения рельефа. При выборе terrain в качестве типа карты необходимо также включить тип слоя layerRoadmap (описан в разделе Необязательные поля ).
streetview
Панорамы Street View. Для получения дополнительной информации см. Плитки Street View .
language

Тег языка IETF , который определяет язык, используемый для отображения информации на плитках. Например, en-US определяет английский язык, на котором говорят в Соединенных Штатах.

region

Идентификатор региона Common Locale Data Repository (две заглавные буквы), который представляет физическое местоположение пользователя. Например, US .

Необязательные поля

imageFormat
Указывает формат возвращаемого файла. Допустимые значения — jpeg или png . Файлы JPEG не поддерживают прозрачность, поэтому не рекомендуются для наложенных плиток. Если не указать imageFormat , автоматически выбирается лучший формат для плитки.
scale

Увеличивает размер элементов карты (например, меток дорог), сохраняя при этом размер плитки и зону покрытия плитки по умолчанию. Увеличение масштаба также уменьшает количество меток на карте, что уменьшает беспорядок. Следующие значения являются допустимыми значениями scale :

  • scaleFactor1x : Значение по умолчанию.
  • scaleFactor2x : Удваивает размер метки и удаляет метки второстепенных функций.
  • scaleFactor4x : увеличивает размер метки в четыре раза и удаляет метки второстепенных функций.

Следующие примеры демонстрируют эффект масштабирования элементов карты.

Коэффициент масштабирования 1x Коэффициент масштабирования 2x
Карта с масштабным коэффициентом 1xКарта с масштабным коэффициентом 2x
highDpi
Указывает, следует ли возвращать плитки с высоким разрешением. Если коэффициент масштабирования увеличен, для увеличения размера плитки используется highDpi . Обычно увеличение коэффициента масштабирования увеличивает результирующую плитку до изображения того же размера, что снижает качество. При highDpi результирующий размер также увеличивается, сохраняя качество. DPI означает Dots per Inch (количество точек на дюйм), а High DPI означает, что плитка отображается с использованием большего количества точек на дюйм, чем обычно. Если true , то количество пикселей в каждом из измерений x и y умножается на коэффициент масштабирования (то есть 2x или 4x). Область покрытия плитки остается неизменной. Этот параметр работает только со значениями scale 2x или 4x. Он не влияет на плитки масштаба 1x.
Коэффициент масштабирования 1x Коэффициент масштабирования 2x High DPI
Карта отображается в обычном разрешенииКарта отображается с разрешением 2x High DPI
layerTypes

Массив значений, который определяет типы слоев, добавленных на карту. Допустимые значения:

layerRoadmap
Требуется, если вы указываете terrain как тип карты. Также может быть опционально наложен на тип satellite карты. Не влияет на плитки дорожной карты.
layerStreetview
Показывает улицы и места, доступные для просмотра улиц, с помощью синих контуров на карте.
layerTraffic
Отображает текущую ситуацию на дорогах.
styles

Массив объектов стилей JSON, которые определяют внешний вид и уровень детализации объектов карты, таких как дороги, парки и застроенные территории. Стилизация используется для настройки стандартной базовой карты Google. Параметр styles действителен только для типа карты roadmap . Полный синтаксис стилей см. в Справочнике стилей .

overlay

Логическое значение, которое указывает, следует ли отображать layerTypes как отдельное наложение или в сочетании с базовым изображением. Если true , базовая карта не отображается. Если вы не определили ни одного layerTypes , это значение игнорируется.

Например, запрос типа satellite карты со слоем layerRoadmap и overlay , установленным на false , приводит к созданию плиток, эквивалентных hybrid типу карты, используемому в Maps JavaScript API (левое изображение). Те же типы карт и слоев с overlay , установленным на true приводят к созданию прозрачной плитки с наложением карты, стилизованной соответствующим образом для наложения на спутниковые изображения (правое изображение).

overlay : ложно overlay : правда
Наложение установлено на 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
Значение токена сеанса, которое необходимо включать во все запросы API Map Tiles.
expiry
Строка, содержащая время (в секундах с начала эпохи), когда истекает срок действия токена. Токен сеанса действителен в течение двух недель с момента его создания, но эта политика может измениться без предварительного уведомления.
tileWidth
Ширина плитки измеряется в пикселях.
tileHeight
Высота плитки измеряется в пикселях.
imageFormat
Формат изображения может быть png или jpeg .