Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите API погоды из реальной жизни :D

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mr_RoboMan, 21 июл 2016.

  1. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Назрел такой вопрос, есть ли какое-нибуть API для получения погоды в определенном городе? :D
    У меня просто сейчас дождик за окном, и вот мне вот прямо ОЧЕЕЕЕНЬ захотелось сделать так, чтоб на моем сервачке была такая-же погода как за окном :D
    От API надо чтоб можно было получать то, что можно установить в майне (т.е. солнечно/дождь/гроза), если что нибуть такое? :D
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    P.S. Нет, я ничего не курил.[DOUBLEPOST=1469111541,1469111418][/DOUBLEPOST]P.P.S. А еще желательно примеры, как получить эту самую погодку :D
     
  4. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
  5. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Использовал. Нашел OpenWeatherMap, подключил себе его к Maven,
    вот теперь пытаюсь найти, как получить погодку..[DOUBLEPOST=1469166698,1469111793][/DOUBLEPOST]Сделал вот так вот:
    Код:
        public static void main(String[] args) throws IOException {
            OpenWeatherMap map = new OpenWeatherMap("А_Ни_Скажу! :P");
            CurrentWeather weather = map.currentWeatherByCityName("London");
        }
    
    Ключик получал вот отсюда: https://home.openweathermap.org/api_keys
    Но, тем не менее, получаю вот это:
    Bad Response: {"cod":401, "message": "Invalid API key. Please see http://openweathermap.org/faq#error401 for more info."}[DOUBLEPOST=1469166883][/DOUBLEPOST]Ох лол, сорре, это у них там чето долго видимо ключики обрабатываются!
    Все зароботало :3[DOUBLEPOST=1469167978][/DOUBLEPOST]Хотя стоп, еще не все..
    Это не работает с самым важным - дождем...
    Код:
        public static void main(String[] args) throws IOException {
            OpenWeatherMap map = new OpenWeatherMap("А_Ни_Скажу! :P");
            CurrentWeather weather = map.currentWeatherByCityName("London");
            System.out.println(weather.getCloudsInstance());
            System.out.println(weather.getCoordInstance());
            System.out.println(weather.getMainInstance());
            System.out.println(weather.getSysInstance());
            System.out.println(weather.getWindInstance());
            System.out.println(weather.getRainInstance());
        }
    
    Код:
    net.aksingh.owmjapis.CurrentWeather$Clouds@119d7047
    net.aksingh.owmjapis.CurrentWeather$Coord@776ec8df
    net.aksingh.owmjapis.CurrentWeather$Main@4eec7777
    net.aksingh.owmjapis.CurrentWeather$Sys@3b07d329
    net.aksingh.owmjapis.CurrentWeather$Wind@41629346
    null
    
    [DOUBLEPOST=1469168127][/DOUBLEPOST]Хотя, как раз таки для Лондона, оно нулл не возвращает, а вот для Москвы, Киева, Минска, и еще пары городов, возвращает нулл.. Ватафак?[DOUBLEPOST=1469168214][/DOUBLEPOST]P.S. Возможно это конечно ретурнит нулл если в городе нету дождя, но ведь блин!
    Там же есть метод hasRain()!![DOUBLEPOST=1469168289][/DOUBLEPOST]Хотя наверное это действительно так, потому-что getRain для Лондона возвращает true..
    Но чет логики я не вижу..
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Яб не стал играть на сервере где идет дождь или снег целый день.
     
  7. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Ну, я не знаю делать это еще или нет (в любом случае, я поседею быстрее чем мой сервер откроется), мне чисто интересно это реализовать! А вот реализовать не могу, потому-что инстанс дождя возвращет null, хотя у него есть метод hasRain.. Логичнее было бы все-таки возвращать обьект, а hasRain возвращал бы false и все..
     
  8. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Логичнее было бы получать код страницы из страницы в интернете с определенным городом, находить там нужную строку и смотреть что там написано.
     
  9. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Эм.. Што?
     
  10. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Он имел ввиду, что парсить погоду с сайта, например Jsoup'ом.
     
  11. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Например, твой плагин загружает страницу https://pogoda.yandex.ru/yekaterinburg/, берет оттуда строку
    Код:
    current-weather__comment
    И например, если она равна "Ясно" то погода на сервере устанавливается ясной, "Переменная облачность" - облачно, и т. д..
    И проверять ее каждые минут 5.[DOUBLEPOST=1469175594,1469175431][/DOUBLEPOST]И профит!
     
  12. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    А зачем все это, если есть OpenWeatherMap? O,o
    И облаками ведь нельзя управлять сервером..
     
  13. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Как хочешь, я направление дал
     
  14. TheEfwio

    TheEfwio Активный участник Пользователь

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    Реализовал ;)
    [​IMG]
     
  15. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Я тоже ;)
     

Поделиться этой страницей