摘要: Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 从Java One 2007到...
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
从Java One 2007到现在,WorldWind Java SDK已经推出将近一年了,上一个版本是12月发布的0.4。比起最初的版本,0.4的规模已经是空前扩大了,包和类的数量都有大大的增加。因为是处在开发的初期,所以每一个版本的变化都非常大,包的结构在不断的改变,之前版本上能跑的程序现在必需修改了。
0.4开始,WorldWind Java提供了一个WMSLayerFactory,用于简化和WMS服务的集成。之前的版本要加载一个WMS图层,需要集成TiledImageCache类,重写TiledUrlBuilder。而现在只要给WMSLayerFactory传入一个Capabilities对象和一个WMS的名值对分装类AVList,就可以获得相应的WMS图层。
取得Capabilities对象的方法是向服务器发送一个CapabilitiesRequest,在WMS的规范中就是getCapabilities请求,返回的将是一个XML文档,通过Capabilities的静态方法parse就可以获得Capabilities对象了。这个对象中包含了WMS服务器的基本信息,包括服务器上的所有图层极其范围等等,具体可以去参考WMS规范。
对于WMS的url的参数,需要构造一个AVList,以名值对的形式传入。这一块WorldWind也就行了简单的封装,常见的key都被分装在了AVKey接口中,无需手动书写。