第二个灵魂 发表于 2015-1-18 11:07:50

了解下JAVA的精晓Grails: Grails服务和Google舆图

主要缺点就是:速度比较慢,没有C和C++快
自本系列的第一篇文章入手下手,我就一向在构建一个trip-planner使用程序。今朝基础的模子-视图-把持器(Model-View-Controller,MVC)框架已筹办停当,我将到场一些内部手艺,详细来说,我将到场舆图功效。固然我能够暗示“我的路程是从丹佛到罗利,路过圣何塞和西雅图”,但舆图将能更好地形貌旅途线路。您大概晓得西雅图和罗利是在美国的两头,但舆图可以匡助您显现出两个乡村之间的距离。
这个使用程序有甚么用?本文的开端为您供应一个大致的先容。请会见http://maps.google.com并在搜刮框内输出IATA代码DEN。将呈现丹佛国际机场(DenverInternationalAirport),如所示(更多的IATA代码,拜见上个月的文章)。
.丹佛机场(由GoogleMap友谊供应)

除能显现您在HTML表创立的美国机场之外,tripplanner还将在舆图上把机场刻画出来。在本文中,我将利用收费的GoogleMapsAPI。我还可使用收费的Yahoo!MapsAPI,等等(拜见参考材料)。一旦懂得在线Web舆图绘制的基础道理以后,您将发明分歧的API之间可以公道地交换。在会商该办理计划的舆图绘制部分之前,您必要懂得怎样将一个复杂的三个字母的字符串(如DEN)转换为舆图上的一点。
地舆编码
当向GoogleMap输出DEN时,这个使用程序在幕落后行了一些转换。您大概用街道地点(如123MainStreet)的体例设想地舆地位,但GoogleMap必要一个纬度/经度点,以便在舆图上把它显现出来。这其实不必要您本人想法供应纬度/经度点,使用程序会替您把人类可以辨认的地点转换为纬度/经度点。这一转换历程称为地舆编码(拜见参考材料)。
扫瞄Web时,也会产生一个相似的转换。从手艺角度来讲,接洽远程Web服务器的唯一体例是供应服务器的IP地点。侥幸的是,您不必要本人输出IP地点。只需将友爱的URL输出到Web扫瞄器,它将挪用域名体系(DNS)服务器。DNS服务器会将URL转换为对应的IP地点,然后扫瞄器与远程服务器创建HTTP毗连。一切这些对用户而言都是通明的。DNS使Web的利用简单了良多。一样,地舆编码器也使基于Web的舆图绘制使用程序加倍简单利用。
在Web上疾速搜刮收费地舆编码器会发生很多切合tripplanner地舆编码需求的了局。Google和Yahoo!都供应地舆编码服务,并把它作为API的尺度部分,但针对这个使用程序,我将利用由geonames.org(拜见参考材料)供应的收费地舆编码服务。它的RESTfulAPI同意我指明我供应的是IATA代码,而不是通用的文本搜刮术语。好比,ORD并非指内布拉斯加州Ord.市的住民,ORD指的是ChicagoOHareInternationalAirport。
在Web扫瞄器中输出URLhttp://ws.geonames.org/search?name_equals=den&fcode=airp&style=full。您将看到XML呼应,如清单1所示:
清单1.来自地舆编码哀求的XML了局
<geonamesstyle="FULL">
 <totalResultsCount>1</totalResultsCount>
 <geoname>
  <name>DenverInternationalAirport</name>
  <lat>39.8583188</lat>
  <lng>-104.6674674</lng>
  <geonameId>5419401</geonameId>
  <countryCode>US</countryCode>
  <countryName>UnitedStates</countryName>
  <fcl>S</fcl>
  <fcode>AIRP</fcode>
  <fclName>spot,building,farm</fclName>
  <fcodeName>airport</fcodeName>
  <population/>
  <alternateNames>DEN,KDEN</alternateNames>
  <elevation>1655</elevation>
  <continentCode>NA</continentCode>
  <adminCode1>CO</adminCode1>
  <adminName1>Colorado</adminName1>
  <adminCode2>031</adminCode2>
  <adminName2>DenverCounty</adminName2>
  <alternateNamelang="iata">DEN</alternateName>
  <alternateNamelang="icao">KDEN</alternateName>
  <timezonedstOffset="-6.0"gmtOffset="-7.0">America/Denver</timezone>
 </geoname>
</geonames>
您在URL中输出的name_equals参数是该机场的IATA代码。这只是在每一个查询中必要变动的URL的一部分。fcode=airp标明您正在搜刮的特性代码是一个机场。style参数—short、medium、long或full—指定了XML呼应的具体水平。
如今已筹办好地舆编码器,下一步就是将它与Grails使用程序集成在一同。为此,您必要一个服务。
<p>
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。

只想知道 发表于 2015-1-20 14:52:28

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

仓酷云 发表于 2015-1-24 14:50:50

是一种使用者不需花费很多时间学习的语言

再现理想 发表于 2015-1-26 13:53:10

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

精灵巫婆 发表于 2015-1-26 22:18:54

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

飘灵儿 发表于 2015-2-4 20:57:00

是一种为 Internet发展的计算机语言

简单生活 发表于 2015-2-10 09:24:18

是一种将安全性(Security)列为第一优先考虑的语言

谁可相欹 发表于 2015-3-10 12:51:23

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

若相依 发表于 2015-3-17 07:10:37

是一种将安全性(Security)列为第一优先考虑的语言

若天明 发表于 2015-3-24 01:32:23

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
页: [1]
查看完整版本: 了解下JAVA的精晓Grails: Grails服务和Google舆图