Как посмотреть карты погоды (экспериментальная функция)

Конечная точка mapTypes предоставляет растровые плитки карт, на которых представлены различные погодные явления, например прогноз осадков. Эти фрагменты можно накладывать на стандартные Google Карты.

Условия использования

Эти условия выпущены в соответствии с разделом 6 (Условия использования предварительных версий) Специальных условий платформы Google Карт, согласованных между вами и Google.

1.1 Требования по указанию авторства. Если Клиент использует Контент Google Карт из Weather API, он должен указать авторство Google в соответствии с Документацией.

1.2. Ограничения. Клиенты не могут использовать контент Google Карт, полученный из Weather API, для воссоздания сервиса или продукта Google (например, использовать данные, полученные из Weather API, в приложении или модели погоды, основная цель которых – предоставлять информацию о погоде).

1.3. Кеширование. Клиенты могут временно кешировать контент Google Карт, полученный через Weather API, в течение применимого периода кеширования, как описано в таблице 1.3.1 (Разрешения на кеширование).

Таблица 1.3.1 (Разрешения на кеширование)

Эти разрешения дополняют те, которые описаны в таблице 17.2.1 Специальных условий платформы Google Карт.

Контент Google Карт Период кеширования
Фрагменты карты погоды Один час, после чего Клиент должен удалить кешированный контент Google Карт.

О запросах карт погоды

Чтобы запросить карты погоды, отправьте HTTP-запрос GET по следующему адресу:

https://weather.googleapis.com/v1/mapTypes/{map_type}/mapTiles/{zoom}/{x}/{y}

Типы карт

Weather API поддерживает разные типы карт погоды, которые соответствуют разным базовым моделям погоды и географическим областям:

  • US_PRECIPITATION_CURRENT: прогноз осадков в США с высоким разрешением.
  • EU_PRECIPITATION_CURRENT – текущий прогноз осадков в Европе с высоким разрешением.

На карте ниже показаны регионы, где доступны фрагменты карт погоды:

Покрытие фрагментов карты погоды

Система координат фрагментов

В API используется стандартная система координат тайлов Web Mercator. Подробную информацию о координатах карт и фрагментов можно найти в статьях Фрагменты дорожной карты и Координаты карт и фрагментов.

В этой системе:

  • zoom – уровень масштабирования (от 0 до 16). На уровне масштабирования 0 вся карта мира отображается как один фрагмент (20 x 20 = 1 фрагмент). На уровне масштабирования z карта мира делится на сетку из 2z x 2z фрагментов.
  • x – координата X (столбец) фрагмента, от 0 (самый западный) до 2zoom – 1 (самый восточный).
  • y – координата Y (строка) фрагмента, от 0 (самый северный) до 2zoom – 1 (самый южный).

Показать карту погоды

Чтобы показывать эти фрагменты в веб-приложении с помощью Google Maps JavaScript API, можно создать специальный объект google.maps.ImageMapType:

const weatherMapType = new google.maps.ImageMapType({
  getTileUrl: function(coord, zoom) {
    const mapType = "US_PRECIPITATION_CURRENT";
    return `https://weather.googleapis.com/v1/mapTypes/${mapType}/mapTiles/${zoom}/${coord.x}/${coord.y}`;
  },
  tileSize: new google.maps.Size(256, 256),
  maxZoom: 16,
  minZoom: 0,
  name: "Weather"
});

// Overlay on existing map
map.overlayMapTypes.insertAt(0, weatherMapType);

Пример запроса карты погоды

В следующем примере запрашиваются тайлы карты осадков в США для Нового Орлеана:

curl -o tile.png -X GET "https://weather.googleapis.com/v1/mapTypes/US_PRECIPITATION_CURRENT/mapTiles/12/1025/1688?key=API_KEY"

Ответ бинарный. Обертка JSON появляется только при определенных настройках сериализации, например ?alt=json.