处理成功
如清单 21 所示,最后一个函数以 Yahoo! 服务返回的 JSON 响应为参数,构建一个 HTML 列表,并将它写到 hotels
:
清单 21. 实现 showHotels()
function showHotels(response){
var results = eval( '(' + response.responseText + ')')
var resultCount = 1 * results.ResultSet.totalResultsReturned
var html = "<ul>"
for(var i=0; i < resultCount; i++){
html += "<li>" + results.ResultSet.Result[i].Title + "<br />"
html += "Distance: " + results.ResultSet.Result[i].Distance + "<br />"
html += "<hr />"
html += "</li>"
}
html += "</ul>"
var hotels = document.getElementById("hotels")
hotels.innerHTML = html
}
var results = eval( '(' + response.responseText + ')')
var resultCount = 1 * results.ResultSet.totalResultsReturned
var html = "<ul>"
for(var i=0; i < resultCount; i++){
html += "<li>" + results.ResultSet.Result[i].Title + "<br />"
html += "Distance: " + results.ResultSet.Result[i].Distance + "<br />"
html += "<hr />"
html += "</li>"
}
html += "</ul>"
var hotels = document.getElementById("hotels")
hotels.innerHTML = html
}
最后一次刷新浏览器,并输入两个机场。屏幕看上去应该如 图 1 所示。
这个例子到此结束,希望您自己继续完善它。您可以使用另一个 GMarker 数组在地图中标出宾馆。您也可以添加 Yahoo! 结果中的其他字段,例如电话号码和街道地址。此外,您还可以进行其他实践。