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

Конечная точка 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.