WEB开发网
开发学院软件开发Java 精通 Grails: 用 JSON 和 Ajax 实现异步 Grails 阅读

精通 Grails: 用 JSON 和 Ajax 实现异步 Grails

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 接着,将清单 12 中的 JavaScript 添加到 init() 函数后面: 清单 12. 实现 addAirport 和 drawLine<scripttype="text/javascript">varairportMarkers=[]varlinefun

接着,将清单 12 中的 JavaScript 添加到 init() 函数后面:

清单 12. 实现 addAirport 和 drawLine

<script type="text/javascript"> 
var airportMarkers = [] 
var line 
function addAirport(response, position) {    
 var airport = eval('(' + response.responseText + ')') 
 var label = airport.iata + " -- " + airport.name 
 var marker = new GMarker(new GLatLng(airport.lat, airport.lng), {title:label}) 
 marker.bindInfoWindowHtml(label) 
 if(airportMarkers[position] != null){ 
  map.removeOverlay(airportMarkers[position]) 
 } 
 if(airport.name != "Not found"){ 
  airportMarkers[position] = marker 
  map.addOverlay(marker)      
 } 
 document.getElementById("airport_" + position).innerHTML = airport.name 
 drawLine() 
} 
function drawLine(){ 
 if(line != null){ 
  map.removeOverlay(line) 
 } 
  
 if(airportMarkers.length == 2){ 
  line = new GPolyline([airportMarkers[0].getLatLng(), airportMarkers[1].getLatLng()]) 
  map.addOverlay(line) 
 } 
}   
</script> 

清单 12 中的代码做的第一件事是声明两个新的变量:一个变量用于存放线条,另一个数组用于存放两个机场标记。对传入的 JSON 调用 eval() 之后,就可以直接调用 airport.iata、airport.name、airport.lat 和 airport.lng 等字段。(要温习 JSON 对象,请参见 清单 5)。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:精通 Grails JSON

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接