麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ASP利用prototype和Google的weather api做天氣預報

2019-11-17 04:12:04
字體:
來源:轉載
供稿:網友

利用PRototype和GOOGLE的weather api做天氣預報
想拿prototype練練手,就用prototype做個天氣預報吧。
Google Weather API 只支持美國地區使用郵政編碼進行查詢,例如:
http://www.google.com/ig/api?hl=zh-cn&weather=94043
(94043 為 山景城, 美國加州 的郵政編碼)
而除了美國以外的地區需要使用經緯度坐標作為參數才能執行 Google Weather API, 例如:
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996
(30670000,104019996 為 成都, 中國大陸 的經緯度坐標)
要其它地區的經緯度坐標,可以通過 Google API 提供的國家代碼列表及相應的城市經緯度坐標列表可以查詢到,以下是 Google API 提供的查詢參數:
http://www.google.com/ig/countries?output=xml&hl=zh-cn
asp演示:http://www.companysz.com/tools/tianqiyubao.asp
(查詢 Google 所支持的所有國家的代碼,并以 zh-cn 簡體中文顯示)
http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn

:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
</head>
<script language="javascript" src="prototype.js"></script>
<script language="Javascript">

//取得中國所有的城市
function getCity()
{
var url = "var cityPara = {method:"get" ,
     parameters:"output=xml&hl=zh-cn&country=cn" ,
     onComplete:showCityRespose
     };
var cityRequest = new
Ajax.Request( url , cityPara);
}

function showCityRespose(originalRequest)
{
cityInfo = originalRequest.responseXML;
cityNodes = cityInfo.getElementsByTagName("city");
for(var i=0;i<cityNodes.length;i++){
  var city = cityNodes[i];
  var cityName = getData( city , "name");
  var latitude = getData( city ,"latitude_e6");
  var longitude= getData( city ,"longitude_e6");
  var option =document.createElement("option");
  $("city").options.add(option);
  option.innerText = cityName;
  option.value=",,,"+latitude+","+longitude;
}
}
function forecast(city)
{
$("result").innerHTML = "請稍等";
var url = "var para = {method:"get" ,
  parameters:"hl=zh-cn&weather="+city ,
  onComplete:showResult
};
var forecastRequest = new Ajax.Request(url , para);
}

//顯示預報結果
function showResult(originalRequest)
{
$("result").innerHTML = "";
resultXML = originalRequest.responseXML;
forecastNodes = resultXML.getElementsByTagName("forecast_conditions");
for(i=0;i<forecastNodes.length;i++){
  var oneNode = forecastNodes[i];
  var weekday = getData( oneNode , "day_of_week");
  var low = getData( oneNode , "low");
  var high = getData( oneNode , "high");
  var icon = getData( oneNode , "icon");
  var result = document.createElement("div");
  result.appendChild(document.createTextNode(weekday));
  result.appendChild(document.createElement("br"));
  result.appendChild(document.createTextNode("最低溫度"+low));
  result.appendChild(document.createElement("br"));
  result.appendChild(document.createTextNode("最高溫度"+high));
  result.appendChild(document.createElement("br"));
  var image = document.createElement("img");
  image.setAttribute("src" , "
);
  result.appendChild(image);
  $("result").appendChild(result);
}
}

//取得數據值
function getData(parentNode , nodeName)
{
return parentNode.getElementsByTagName(nodeName)[0].getAttribute("data");
}
</script>
<body onLoad="getCity()">
<div id="selectcity">
<form name="form1" method="post" action="">
<select name="city" id="city" onChange="forecast(this.value)">
        <option value="">選擇城市</option>
     </select>   
  </form>
</div>

<div id="result">

</div>
</body>
</html>

ASP演示:http://www.companysz.com/tools/tianqiyubao.asp
注意這段代碼在IE下可以使用,在IE里
xmlhttpREQUEST可以選擇允許跨域。
在FF下,就不能使用了:(
解決辦法:你可以先用php讀下來GOOGLE提供的數據,再用XML形式提供給這個程序,就可以啦。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人精品一区二区三区 | 欧美日本91精品久久久久 | 美女视频大全网站免费 | 懂色av懂色aⅴ精彩av | 午夜视频中文字幕 | 久久久国产精品免费观看 | 最新av在线播放 | 日韩av片网站 | 九一传媒在线观看 | 羞羞视频一区二区 | 香蕉秀 | 毛片免费视频网站 | 91九色蝌蚪国产 | 中文字幕精品一区久久久久 | 国产精品免费在线 | 男人午夜小视频 | 国产自在自线午夜精品视频在 | 成人福利视频在线观看 | 51国产偷自视频区视频小蝌蚪 | 中国老女人一级毛片视频 | 国产一级一级片 | 深夜免费观看视频 | 91av在线免费播放 | 黄色网址电影 | 日韩精品中文字幕一区二区三区 | 久久av免费| 红桃一区 | 精品国产一区二区三区四区在线 | 播色网| 中国嫩模一级毛片 | 午夜爽爽爽男女免费观看hd | 欧美一级淫片免费视频1 | 欧美精品一级 | 成人羞羞在线观看网站 | 韩国精品视频在线观看 | 久久99国产伦子精品免费 | 欧美女孩videos | 午夜视频在线在免费 | 久久sp | 亚洲综合一区在线观看 | a一级黄 |