Weather D7 - Modulo

Events happening in the community are now at Drupal community events on www.drupal.org.
pirex360's picture

Boa Noite,

Precisava de incluir num projecto, a visualização simples de 3 localizações/weather, tentei usar o Weather module, mas em Portugal...apenas tem 5 a 6 lugares...o Google Weather é beta e dá erro ao executar...alguém já teve necessidade de fazer algo semelhante ? ou a solução é usar API's externas e colocar no .tpl ?

O objectivo era algo como aparece no topo desta página :
https://www.google.pt/webhp?rlz=1C1CHFA_enPT484PT484&sourceid=chrome-ins...

Obrigado,
João Pires

Comments

Api Yahoo

uaparac's picture

Viva eu já usei uma vez para testes a API do Yahoo e correu bem, mas como disse foi só mesmo por curiosidade e foi a correr em localhost

http://drupal.org/node/641556

http://developer.yahoo.com/weather/

Yr Weatherdata

ruifigueiredo's picture

Olá,

Utilizei o Yr Weatherdata uma vez e gostei da simplicidade.
-> http://drupal.org/project/yr_verdata

Saudações,
Rui Figueiredo

Recomendo este também ...

chicodasilva's picture

Relativamente às localizações é uma questão de pesquisar no site deles:
http://www.yr.no/

Francisco

Weather

pirex360's picture

Boas,

Antes demais, quero agradecer o vosso feedback.
O que eu queria, era um módulo que desse para ficar em PT e que me permitisse, um bloco com 3 localizações distintas de Portugal.

Encontrei este tutorial e implementei com sucesso no drupal no proprio .tpl. O grande problema.... é que o serviço que usa para os locais, não suporta todos os sitios de PT. Eu queria S. Pedro da Cova, Esmoriz e Amarante.

http://www.onextrapixel.com/2011/08/22/adding-weather-to-your-site-with-...

Estou a tentar ainda ver soluções melhores....

Outra solução é o widget do site http://www.tempo.pt/

"If you go to hate something...hate your own destiny..."

API Yahoo Weather

uaparac's picture

No caso da API da Yahoo a chamada funciona através de um XML o que te permite criare um número indeterminado de localizações, basta para isso definires o parametro W que identifica o local que pretendes

w WOEID w=2502265

To get the forecast for Paris, France, use the WOEID 615702:
http://weather.yahooapis.com/forecastrss?w=615702

To get the forecast for New York City, use the WOEID 2459115:
http://weather.yahooapis.com/forecastrss?w=2459115

Para ajudar cá vai as URL´s para as localizaçõe spretendidas (S.Pedro da Cova é uma localidade) em Gondomar.

http://www.weather.com/weather/right-now/POXX0109:1:PO
http://www.weather.com/weather/right-now/POXX0015:1:PO
http://www.weather.com/weather/right-now/POXX0174:1:PO

Google Weather

hlopes's picture

Parece que a google tem uma api para o tempo... Não sei se será fiável ou não, mas para a usar basta fazer qq coisa tipo:

$req = drupal_http_request("http://www.google.com/ig/api?weather=Amarante");
$amarante = json_decode(json_encode((array) simplexml_load_string($req->data)),1);
#print '<pre>'.print_r($amarante,1).'</pre>';

$req = drupal_http_request("http://www.google.com/ig/api?weather=Sao%20Pedro%20da%20Cova");
$saopedro = json_decode(json_encode((array) simplexml_load_string($req->data)),1);
#print '<pre>'.print_r($saopedro,1).'</pre>';

$req = drupal_http_request("http://www.google.com/ig/api?weather=Esmoriz");
$esmoriz =  json_decode(json_encode((array) simplexml_load_string($req->data)),1);
#print '<pre>'.print_r($esmoriz,1).'</pre>';

print "Temperatura em Amarante: ". $esmoriz['weather']['current_conditions']['temp_c']['@attributes']['data'].' ºC<br>';
print "Temperatura em Esmoriz: ". $esmoriz['weather']['current_conditions']['temp_c']['@attributes']['data'].' ºC<br>';
print "Temperatura em São Pedro da Cova: ". $esmoriz['weather']['current_conditions']['temp_c']['@attributes']['data'].' ºC<br>';

Como é algo pesado, o ideal seria fazer isso 2 a 4 vezes por dia ( com o cron, pex ) e guardar num lado qualquer, tipo uma variável ou assim.

Tens aí uns comentários, podes descomentar para ver a estrutura do array retornado pelo webservice da google.

Módulo

hlopes's picture

Só agora é que reparei na parte que dizia "módulo"

Descobri que há um módulo que usa essa api, está em

http://drupal.org/project/google_weather/

Update Google Weather

ruifigueiredo's picture

Boas,

Pelo que parece o modulo do google weather deixou de funcionar, mas está aqui o update não oficial - http://code.google.com/p/drupal-weather/

http://code.google.com/p/drupal-weather/downloads/detail?name=weather_v0... (ainda não testei:/)

existe tambem uma forma de gerar o xml

http://www.google.com/ig/api?weather=Sintra,PT

Google Weather

ruifigueiredo's picture

Boas,

Já tenho o codigo do google weather a funcionar.

Basta colar o codigo abaixo num bloco.

http://pastebin.com/L75c16J2

;)

Google Weather

hlopes's picture

Pirex:

Experimentei a beta.2 do Google Weather e funcionou sem problemas para as localidades que disseste... Se te quebra o site, anda aí gato...

ruif13:

Aqui não funcionou... Mas foi só por causa das short tags :D

As únicas alterações que faria a esse código seriam adicionar uma validação para o caso do pedido falhar e activar a cache do bloco para melhorar a performance da coisa.

Olá HLopes, já arrumei o

ruifigueiredo's picture

Olá HLopes,

já arrumei o código, acho que está funcional,

http://pastebin.com/L75c16J2

No entanto foi uma boa oportunidade para mexer com api do google.

Portugal

Group categories

Classificação

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: