Используйте токены сеанса с 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 означает количество точек на дюйм, а High DPI означает, что плитка отображается с использованием большего количества точек на дюйм, чем обычно. Если true , то количество пикселей в каждом из измерений x и y умножается на масштабный коэффициент (то есть 2x или 4x). Область покрытия плитки остается неизменной. Этот параметр работает только со значениями scale 2x или 4x. Он не влияет на плитки масштаба 1x.
Коэффициент масштабирования 1x Коэффициент масштабирования 2x High DPI
Карта отображается в обычном разрешенииКарта отображается с разрешением 2x High DPI
layerTypes

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

layerRoadmap
Обязательно, если в качестве типа карты выбрана terrain . Также может быть наложен на satellite карту. Не влияет на фрагменты дорожной карты.
layerStreetview
Показывает улицы и места, доступные в Street View, с помощью синих контуров на карте.
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 .