Posted by pirex360 on July 21, 2012 at 9:49pm
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
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
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 ...
Relativamente às localizações é uma questão de pesquisar no site deles:
http://www.yr.no/
Francisco
Weather
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
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
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
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
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
Boas,
Já tenho o codigo do google weather a funcionar.
Basta colar o codigo abaixo num bloco.
http://pastebin.com/L75c16J2
;)
Google Weather
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
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.