Java SE引路蜂地图开发示例
上一篇 / 下一篇 2012-07-17 13:17:45 / 个人分类:Java
CJ f } cp0 引路蜂地图也提供对Java SE平台的支持,可以开发桌面地图应用,由于Java SE的跨平台特性,使用Java SE引路蜂地图开发包开发的地图应用可以运行于Windows,Lunix,Unix,Mac OS等平台。开发桌面应用比开发移动应用要容易的多,屏幕,内存等方面都比移动平台要宽裕的多。
yFtp)a6O9~9Gt%M,p0E\gs}&BAWb4k0 下面使用一个简单的应用来介绍一下Java SE引路蜂地图开发。示例截图如下51Testing软件测试网,WAC} T1J
Z;~B;H;z)q&e0设置引路蜂地图开发包License
f:[+g+lJ?"ieO0引路蜂开发包License分两部分,一个为License文件guidebee.lic ,另一部分为License文件对应的注册码,需在程序运行前初始化
0R}]Y0_4I5C|6a+_ y0
|
设置Java SE平台相关图形系统实现
D.cm \'yg8|#G![$o"J9r0引路蜂地图开发包,在设计时尽量做到平台无关性,将一些平台相关的部分,如图形系统以接口形式定义,如 IFont,IGraphics,AbstractGraphicsFactory,IImage。这样在应用到具体平台时,加上平台相关的实现,可以实 现同一个库应用到不同的平台。这些平台实现是以源码提供的,如在Java SE平台,提供了JavaSEFont,JavaSEGraphics,JavaSEGraphicsFactory和JavaSEImage类定义,可 以参见引路蜂地图API概述。51Testing软件测试网|n^v0`9X|e-`^
初始化地图对象及设置服务回调函数51Testing软件测试网"Q,g5T UR?V'i
|
上述代码设置地图工作线程数为16,一般来说增加工资线程数可以提高地图下载及响应速度。
FQ1AK$A\0创建地图对象,设置显示区域(屏幕)大小。此外地图服务如查询地址,获取路径都是采用异步方式,通过设置回调函数如 setRoutingListener,setGeocodingListener,setReverseGeocodingListener等来通知应 用 。51Testing软件测试网}&GGy `
设置地图中心和地图类型51Testing软件测试网:_3K?T,bS&x&^({ AB0l
|
地图缩放51Testing软件测试网:]9]E3f)T'^
RasterMap的 ZoomIn,ZoomOut用来放大和缩小地图,setZoom可以设置地图级别。51Testing软件测试网 h~US7E3s]-Wx
地图平移51Testing软件测试网e }%j]6LlH
RasterMap 有两个方法可以用于平移地图,panTo 将地图移动到指定经纬度坐标,panDirection(dx,dy) 将地图从当前位置平移dx,dy 个象素。 下列示例可以上,下,左,右平移地图。51Testing软件测试网!w Q~I$I$` `)^
%m]k:sW7J:R0 地址查询
.J-D9q adCO051Testing软件测试网!s)e;r0\2Oi+`地址查询(或称为地址编码)是将输入的地名(如南京林业大学)转换成对应的经纬度坐标然后将其显示在地图上。51Testing软件测试网:va']%BW@I
K.Jt:y-\*v+Gu9g@u0 所有的地图服务都是采用异步方式调用,在调用RasterMap.getLocation(address)前,需要设置好返回结果时的回调函 数RasterMap.setGeocodingListener,回调函数接口定义为IGeocodingListener。 回调方法为public void done(String query,MapPoint[] result) ,如果查询结果不为空,则reusult 为查询结果的数组。示例中将地图转到第一个查询结果。
Z XLbC|051Testing软件测试网;yEiU!H对于MapAbc 地图服务,还可以指定城市编码,如南京编码为25。public void getLocation(int citycode,String query, IGeocodingListener listener);
R)QT'y0~0h^L&e.F9qzCt:D0 路径查询51Testing软件测试网#a']m1m:|:g/V i~n
51Testing软件测试网7t$y#{ @y_B可以通过RasterMap的getDirection()方法来查询路径,和查询地址类似,路径查询的结果也是通过回调函数的方式来通知应用 程序的,下面的例子返回南京到北京的路径。返回结果存放在MapDirection中,MapDirection包含了路径的详细信息,包括路径的每个步 骤,长度,时间,方向等。
Kd&Ve#jX[T0o`9Cv"E.D,H4M-GIe0 地图服务可以选择使用Google 地图服务,CloudMade地图服务,在中国还可能选择MapAbc地图服务,缺省使用Google 地图服务。51Testing软件测试网,By2mX3U1whk*s)q
51Testing软件测试网$S+s.c u!A!o(XWgetDirections()具有三个重载函数,例子中是采用的文字描述方式。上述示例采用了from: address1 to: address2 的格式, CloudMade地图服务和MapAbc地图服务则必需采用 经度1,纬度1,经度2,纬度2和格式。51Testing软件测试网)km!v-EN[1f)})fe
51Testing软件测试网/d;N4|&i