2010-02-19 4 views
1

Я создаю страницу погоды на PHP.Узнайте, существуют ли данные о погоде Yahoo от where.yahooapis response

Пользователь вводит название города/места в форме поиска, и я ищу его вход в where.yahooapis, чтобы найти 5 верхних относительных woeids.

(т.е. HTTP: // where.yahooapis.com/v1/places.q("Rethimno "), начать = 0; кол = 5 AppID = ...)

Тогда я представляю 5? топ-родственники приводят к списку переключателей. Пользователь выбирает город/место из списка, и я получаю данные о погоде по своему выбору от weather.yahooapis. не

(т.е. HTTP: // weather.yahooapis.com/forecastrss?w=961110)

Я заметил, что есть woeids с кодом «placeTypeName» = "7" (т.е. город), для которых не существует никаких метеорологические данные. (т. Е. 961110)

Есть ли способ узнать, существуют ли метеорологические данные для места из ответа where.yahooapis, поэтому я не включаю его в список переключателей или единственный способ узнать, что это сделать http-запрос на weather.yahooapis и разобрать ответ на ошибку?

(т.е. < название /> Yahoo! Weather - ошибка ...)

ответ

2

Я думаю, что нет никакого другого способа сделать это без отправки запроса HTTP. Другой вариант - проверить все 5 городов перед их отображением, но я знаю, что это не очень хорошее решение.

Но я думаю, что имеет смысл отображать «Нет данных о погоде для этого местоположения», чем не показывать местоположение.

У меня была похожая ситуация для виджета интрасети. Раньше я вручную проверял и удалял места, в которых не было данных о погоде (из предопределенного списка городов). Но пользователи хотели, чтобы я добавил его, потому что, когда они не находят имя города в виджетах, следующее, что они делают, проверяют Сайт погоды Yahoo (или weather.com), который не имеет данных о погоде. Поэтому, чтобы предотвратить это дополнительное усилие со стороны пользователя, мне пришлось добавить город в список.

 Смежные вопросы

  • Нет связанных вопросов^_^