0

我有这个代码,如果选择它将给出一个城市的下拉列表,它将为我提供那个特定城市的天气。使用 Yahoo API 提取数据。

这是代码,

<HTML>
<HEAD>
<TITLE>Find Weather in major cities around the worl</TITLE>
<META NAME="Keywords" CONTENT="ajax, weather, api, fetch, yahoo">
<META NAME="Description" CONTENT="yahoo, weather">
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css" />
<SCRIPT type="text/javascript">
<!--

$(document).ready(function(){

function get_weather()
{
var p = $("#code").val();

var u = ($('#u').attr('checked')) ? '&u=c' : '';
var to_load = 'get_weather.php?p='+ p + u;

$("#weather").html('<img style="margin-top: 104px;" src="ajax-loader.gif"   align="absmiddle">');

$("#weather").load(to_load);
}

$(window).load(get_weather); // Trigger "get_weather" when the window loads

// Trigger "get_weather" when the form objects are used
$("#code").change(get_weather);
$("#u").click(get_weather); 
});

//-->
</SCRIPT>

</HEAD>

<BODY>

<A target="_blank" HREF=""></A>

<center>

<div align="center">

<h2 align="center">Find World Weather</h2>

<form>
Get Weather for: <select id="code" name="code">
<option value="AFXX0001">Ghurian</option>
<option value="AFXX0002">Herat</option>
<option value="UKXX0687">Buckingham, United Kingdom</option>
<option value="ASXX0001">Adelaide, Australia</option>
</select>

<input type="checkbox" id="u" name="u" value="c">&nbsp;Change to degrees Celsius
</form>

<div id="weather"></div>
</div>
</center>
</BODY>
</HTML>

但是我需要的是下拉列表中的一个搜索框,当我进入一个城市时,我应该得到那个地方的天气信息。我是初学者,所以请这样对待我,不要让你的所有答案复杂化。提前非常感谢。

4

1 回答 1

0

我认为您可能会为此感到困惑,因为您需要从雅虎了解每个位置的 WOEID。从表面上看,没有简单的方法可以以编程方式获得它。在我看来,您最好使用其他天气服务,即 http://api.openweathermap.org/data/2.5/weather?q=Birmingham,uk

似乎他们自己对地址进行了一些地理编码,但您始终可以将 google geocoding api 与此服务结合使用。

于 2013-10-21T20:47:49.953 回答