Pull to refresh

Информер погоды от Яндекса с определение города по IP (готовый код)

Reading time2 min
Views2.5K
Недавно я заинтересовался темой отображения информера от Яндекс.Погоды посетителю сайта в соответствии с его местоположением. Сам информер Яндекса показывает погоду только в том городе, который выбрал веб-мастер сайта. На практике смысла в таком информере мало (описано в предыдущей статье). Следовательно надо саому определять город, в котором находится посетитель, и выводить ему нужный информер. В процессе изучения темы, я пришел к выводу, что кроме GeoLite City от MaxMind и CNGeoIP нормальных world-wide баз IP->Город нет. Однако, для взаимодействия с сервисом Яндекса база GeoLite City не подходит.
Таким образом, пришлось остановиться на базе CNGeoIP. Была куплена версия базы и на ней был построен алгоритм получения кода города для информера по IP посетителя. Написанный скрипт работает тут: commontools.net/geoip/ya.w.js. Определяется город по IP пользователя, проводится сравнение с базой Яндекса и выводится id города и страны для информера в виде: var yaCountry=20;var yaCity=26850; Скрипт естественно работает на стороне сервера и выводит только id для JS. А на странице с информером скрипт включается в HTML-код страницы через script src="...". Далее другой незамысловатый скриптик подставляет переменные в код вызова информера и на картинке отображается погода в городе, в котором находится посетитель сайта. Под ней ссылка на настройки информера, где посетитель сможет выбрать другой город, а информация сохранится в cookies.
Итак, результат трудов в виде beta-версии, которую, надеюсь, вы мне поможете оттестировать. Страничка получения кода находится здесь: http://commontools.net/geoip/ya.weather.get.html. Это страница для получения кода информера. На ней описано, как код получить и прикрутить к сайту.
Хотя сервис пока на стадии beta-тестирования, уже сейчас можно получить код и разместить его на своем сайте. Сервис будет открытый и дальше, бесплатный и свободный для использования по назначению.
Посмотреть, как информер работает, можно уже сейчас в моем блоге.
P.S. Для любопытных. Домен commontools.net является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.
Tags:
Hubs:
+8
Comments5

Articles