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

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

В API плиток карты токен сеанса представляет собой определенный набор параметров отображения. Это означает, что вам не нужно передавать набор параметров отображения при каждом запросе плитки. Вы можете использовать один и тот же токен сеанса для нескольких клиентов. Токен сеанса в настоящее время действителен в течение двух недель с момента его выпуска, но это может измениться. Вы всегда можете проверить срок действия токена сеанса, просмотрев поле 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. Дополнительную информацию см. в разделе Плитки просмотра улиц .
language

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

region

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

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

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

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

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

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

Масштабный коэффициент 1x Масштабный коэффициент 2x
Карта с масштабным коэффициентом 1xКарта с масштабным коэффициентом 2x
highDpi
Указывает, возвращать ли плитки с высоким разрешением. Если масштабный коэффициент увеличивается, highDpi используется для увеличения размера плитки. Обычно увеличение масштабного коэффициента приводит к увеличению полученного фрагмента до изображения того же размера, что снижает качество. При использовании highDpi результирующий размер также увеличивается, сохраняя качество. DPI означает «Точек на дюйм», а «Высокий DPI» означает, что при рендеринге плитки используется больше точек на дюйм, чем обычно. Если true , то количество пикселей в каждом из измерений x и y умножается на масштабный коэффициент (то есть 2x или 4x). Зона покрытия плитки остается неизменной. Этот параметр работает только со значениями scale 2x или 4x. Это не влияет на плитки масштаба 1x.
Масштабный коэффициент 1x Масштабный коэффициент: 2x высокое разрешение
Карта отображается в обычном разрешенииКарта отображается с разрешением 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" }
      ]
    }
  ]
}

В этом примере представлено наложение, подходящее для объединения со спутниковыми изображениями. Пример содержит как дорожную карту, так и наложение с видом на улицу. Полученная карта отображается с именами и данными на английском языке, на котором говорят в Соединенных Штатах.

apiOptions : массив значений, определяющий дополнительные параметры, которые необходимо применить. Поддерживаемые параметры:

  • MCYJ5E517XR2JC — согласитесь на новый стиль карты . В течение периода подписки ваши запросы будут использовать существующий стиль, если это значение не указано.

Ответ токена сеанса

Следующий JSON представляет собой пример тела ответа.

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

Следующий список содержит определения полей в тексте ответа.

session
Значение токена сеанса, которое необходимо включать во все запросы API фрагментов карты.
expiry
Строка, содержащая время (в секундах с начала эпохи), когда истекает срок действия токена. Токен сеанса действителен в течение двух недель с момента его создания, но эта политика может быть изменена без предварительного уведомления.
tileWidth
Ширина тайлов измеряется в пикселях.
tileHeight
Высота плиток измеряется в пикселях.
imageFormat
Формат изображения: png или jpeg .