快速业务通道

精通Grails: 用JSON和Ajax实现异步Grails - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
地图” 中用过的 geonames.org geocoding 服务提供 JSON 输出和 XML。在 Web 浏览器中输入 http://ws.geonames.org/search? name_equals=den&fcode=airp&style=full&type=json。应该可以看到清单 13 所示的 JSON 结果:

清单 13. 从 GeoNames 返回的 JSON 结果

{"totalResultsCount":1, "geonames":[   {"alternateNames":[    {"name":"DEN","lang":"iata"},    {"name":"KDEN","lang":"icao"}],   "adminCode2":"031",   "countryName":"United States",   "adminCode1":"CO",   "fclName":"spot, building, farm",   "elevation":1655,   "countryCode":"US",   "lng":-104.6674674,   "adminName2":"Denver County",   "adminName3":"",   "fcodeName":"airport",   "adminName4":"",   "timezone":{    "dstOffset":-6,    "gmtOffset":-7,    "timeZoneId":"America/Denver"},   "fcl":"S",   "name":"Denver International Airport",   "fcode":"AIRP",   "geonameId":5419401,   "lat":39.8583188,   "population":0,   "adminName1":"Colorado"}] }

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

时间:2011-08-02 IBM Scott Davis

可以看到,GeoNames 服务比您在 “Grails 与遗留数据库” 中导入的 USGS 提供更多关于机场的信 息。如果出现新的用户需求,例如需要知道机场的时区或海拔高度,GeoNames 还可以提供另一种令人感 兴趣的结果。它还包括像 London Heathrow(LHR)和 Frankfort(FRA)这样的国际机场。您可以将 AirportMapping.iata() 转换为使用 GeoNames,这是一个课外练习。

同时,为了显示目的地机场附近的宾馆,惟一有效的选项是利用一个远程 Web 服务。由于有数千家宾 馆,而且??馆列表是不断变化的,所以必须让其他人负责管理这份列表。

Yahoo! 提供了一个本地搜索服务,通过该服务可以搜索一个街道地址、邮政编码,甚至是一个经度/ 纬度点附近的企业。如果您在 “RESTful Grails” 中已经注册并得到一个 developer 密匙,那么可以 在这里重用它。毫不奇怪,您在那时使用的一般搜索 URI 的格式与现在要使用的本地搜索非常类似。上 一次,您允许 Web 服务默认地返回 XML。但是,通过添加一个 name=value 对(output=json),就可以 得到 JSON。

在浏览器中输入以下内容(不要换行),看看 Denver International Airport 附近的宾馆的 JSON 列表:

http://local.yahooapis.com/LocalSearchService/V3/localSearch?appid=    YahooDemo&query=hotel&latitude=39.858409881591797&longitude=    -104.666999816894531&sort=distance

清单 14 显示了 JSON 结果(删节):

清单 14. Yahoo! 返回的 JSON 结果

{"ResultSet":   {"totalResultsAvailable":"803",   "totalResultsReturned":"10",   "firstResultPosition":"1",   "ResultSetMapUrl":"http:\/\/maps.yahoo.com\/broadband\/?tt=ho

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号