Новая библиотека прогноза погоды в Google Maps API

4 апреля 2012 года в API Google Maps API v3 появилась новая библиотека Weather для отображения прогноза погоды на картах.

В ней имеется возможность для вывода двух слоев с данными: данными о погоде (WeatherLayer) и слой с облачностью (CloudLayer).

Для использования библиотеки Weather, ее необходимо подключить.

Делается это путем добавления параметра libraries=weather в строку подключения API Google Maps API v3.

Строка подключения API будет иметь следующий вид:

    <script type="text/javascript"
        src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=weather"></script>

Слой WeatherLayer выводит на карту данные о погоде с привязкой к месту расположения.

При щелчке по метке, открывается балун с информацией о прогнозе погоды на ближайшие четыре дня.

Мы можем управлять форматом отображения данных о погоде:

вывод температуры воздуха в градусах Цельсия или Фаренгейта;
скорости ветра в км/ч, миль/ч или м/с (km/h, mph или m/s)

Слой CloudLayer отображает спутниковые снимки облачного покрова.

Приведу несколько примеров использования этой библиотеки.

Первый пример, добавим оба слоя на карту.

Посмотреть пример в действии

Поясню код примера

В начале мы задаем параметры отображения нашей карты: центр, масштаб, тип карты и определяем область для ее вывода.

Затем добавляем слой с данными прогноза погоды с помощью кода:

        var weatherLayer = new google.maps.weather.WeatherLayer({
          temperatureUnits: google.maps.weather.TemperatureUnit.CELSIUS
        });
        weatherLayer.setMap(map);

Здесь, мы определяем новый слой weatherLayer и задаем параметр для обозначения температуры в градусах Цельсия.

После чего добавляем его на карту.

Далее, мы добавляем слой с облачностью

        var cloudLayer = new google.maps.weather.CloudLayer();
        cloudLayer.setMap(map);

Второй пример, демонстрирует возможность изменения параметров для температуры и скорости ветра.

Посмотреть пример в действии

Поясню код примера

В этом примере задаются два параметра:

температуры в Фаренгейтах;

temperatureUnits: google.maps.weather.TemperatureUnit.FAHRENHEIT

скорости ветра в милях/час

windSpeedUnits: google.maps.weather.WindSpeedUnit.MILES_PER_HOUR

Третий пример, немного измененный пример из блога Google Geo Developers Blog

В этом примере мы можем изменять различные параметры для погодных слоев и наблюдать за изменениями.

Посмотреть пример в действии

Скачать архив с файлами примеров

  • Гость: Спасибо. Интересная новинка. Мне как раз такая нужна. Буду разбираться.
  • Гость: Благодарю. Упростил. Применил здесь: http://www.velobrest.org/h25-page. Работает. Вот бы еще WikiLayer для V3 приклеить. Возможно ли это?
  • Гость: Гугл со своим слоем погоды, как всегда впереди. Но аналогичные солои с погодой появились и для свободных картографических сервисов. Вот тут есть погода по всему миру http://openweathermap.org/ Преимущество перед гуглом - слой погоды можно использовать с любой картографией. и OpenStreetMap и тотже googl maps. Кроме того, есть данные метеорологических станций. Из недостатков - нет слоя облачности, но разработчики обещают добавить и его.
  • Гость: Буду очень признателен, если кто-нибудь подробно опишет процесс. alver@me.com Парни, выручайте!