问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java SE引路蜂地图开发示例

发布网友 发布时间:2023-01-01 05:21

我来回答

1个回答

热心网友 时间:2023-10-03 06:18

  引路蜂地图也提供对Java SE平台的支持 可以开发桌面地图应用 由于Java SE的跨平台特性 使用Java SE引路蜂地图开发包开发的地图应用可以运行于Windows Lunix Unix Mac OS等平台 开发桌面应用比开发移动应用要容易的多 屏幕 内存等方面都比移动平台要宽裕的多         下面使用一个简单的应用来介绍一下Java SE引路蜂地图开发 示例截图如下   

  

    设置引路蜂地图开发包License        引路蜂开发包License分两部分 一个为License文件guidebee lic 另一部分为License文件对应的注册码 需在程序运行前初始化        LicenceManager licenceManager = LicenceManager getInstance()         ong keys[]= { x c df c b L x a bde bcL x c d ac L         x f e c e L x adaa e c acL x f b dbdfL };        icenceManager addLicence( GuidebeeMap_JavaSE keys)         设置Java SE平台相关图形系统实现        引路蜂地图开发包 在设计时尽量做到平台无关性 将一些平台相关的部分 如图形系统以接口形式定义 如IFont IGraphics AbstractGraphicsFactory IImage 这样在应用到具体平台时 加上平台相关的实现 可以实现同一个库应用到不同的平台 这些平台实现是以源码提供的 如在Java SE平台 提供了JavaSEFont JavaSEGraphics JavaSEGraphicsFactory和JavaSEImage类定义 可以参见引路蜂地图API概述         初始化地图对象及设置服务回调函数        MapConfiguration setParameter(MapConfiguration WORKER_THREAD_NUMBER )         mapTileDownloadManager = new MapTileDownloadManager(this)         map = new RasterMap( mapTileDownloadManager)         map setScreenSize(mapLabel getWidth()         mapLabel getHeight())         mapTileDownloadManager start()         map setMapDrawingListener(this)         GeoLatLng center = new GeoLatLng( )         map setCenter(center MapType MICROSOFTCHINA)         map setRoutingListener(this)         map setGeocodingListener(this)         map setReverseGeocodingListener(this)         上述代码设置地图工作线程数为 一般来说增加工资线程数可以提高地图下载及响应速度         创建地图对象 设置显示区域(屏幕)大小 此外地图服务如查询地址 获取路径都是采用异步方式 通过设置回调函数如setRoutingListener setGeocodingListener setReverseGeocodingListener等来通知应用         设置地图中心和地图类型        GeoLatLng center = new GeoLatLng( )         map setCenter(center MapType MICROSOFTCHINA)         地图缩放        RasterMap的 ZoomIn ZoomOut用来放大和缩小地图 setZoom可以设置地图级别         地图平移        RasterMap 有两个方法可以用于平移地图 panTo 将地图移动到指定经纬度坐标 panDirection(dx dy) 将地图从当前位置平移dx dy 个象素 下列示例可以上 下 左 右平移地图         地址查询        地址查询(或称为地址编码)是将输入的地名(如南京林业大学)转换成对应的经纬度坐标然后将其显示在地图上         所有的地图服务都是采用异步方式调用 在调用RasterMap getLocation(address)前 需要设置好返回结果时的回调函数RasterMap setGeocodingListener 回调函数接口定义为IGeocodingListener 回调方法为public void done(String query MapPoint[] result) 如果查询结果不为空 则reusult 为查询结果的数组 示例中将地图转到第一个查询结果         对于MapAbc 地图服务 还可以指定城市编码 如南京编码为 public void getLocation(int citycode String query IGeocodingListener listener)         路径查询        可以通过RasterMap的getDirection()方法来查询路径 和查询地址类似 路径查询的结果也是通过回调函数的方式来通知应用程序的 下面的例子返回南京到北京的路径 返回结果存放在MapDirection中 MapDirection包含了路径的详细信息 包括路径的每个步骤 长度 时间 方向等         地图服务可以选择使用Google 地图服务 CloudMade地图服务 在中国还可能选择MapAbc地图服务 缺省使用Google 地图服务         getDirections()具有三个重载函数 例子中是采用的文字描述方式 上述示例采用了from: address to: address 的格式 CloudMade地图服务和MapAbc地图服务则必需采用 经度 纬度 经度 纬度 和格式         为避免混淆 可以使用下述格式         public void getDirection(GeoLatLng[] waypoints IRoutingListener listener)         其中 waypoints 为途径点坐标数组经纬值 可以支持多点路径查询         此外对于MapAbc 地图服务 还可以指定城市编码 如南京编码为         public void getDirection(int citycode String query IRoutingListener listener)         本地查询        本地查询可以查询指定区域内诸如宾馆 邮局等用户感兴趣的地方 其使用方法和地址查询非常类似         本地查询方法public void getLocations(String address int start GeoLatLng center GeoBounds bound IGeocodingListener listener)         指定中心点和查询区域 本地查询可以多次返回结果 start为查询结果起始顺序 每次返回结果在SearchOptions 中定义 缺省每次返回 个         选择地图服务        引路蜂地图服务缺省使用Google地图服务 但你也可以选择其它地图服务 比方说当Google服务离线时 您可以选择MapAbc的地图服务 另外要注意的是中国地图是有偏移的 如果想使用无偏移的中国地图 一是采用地图偏移校正算法 另外一个是使用CloudMade地图服务         所前所述 引路蜂地图开发包在设计时将地图图片显示和地图服务两部分设计成相对独立的两部分 Google中国地图图片 Bing中国地图图片 MapAbc中国地图图片是有偏移的地图图片 CloudMade(OpenStreet)中国地图图片是无偏移的 而Google中国地图服务 MapAbc中国地图服务是有偏移 CloudMade地图服务是无偏移的 所以在选择地图类型和地图服务类型时 要么都选择有偏移 要么都选择无偏移 否则地图在显示路径时或地址时就不匹配         下面列表是合法的组合    

  

lishixin/Article/program/Java/hx/201311/11148
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 用hibernate的Session的createQuery(sql).setParameter(0,"").iterate()方法后遍历返回Map报错? 新鲜鸡腿怎么做好吃 新鲜鸡腿如何炒好吃窍门 移栽油菜时,如何实现高产? 梦见自己在井里洗衣服 用岁月无痕造句(大约30个左右) 用山势造句(大约30个左右) 词语造句:用太行山造句(约30个) 磨成粉的鸡内金里有石子怎么办 妲已是什么意思 妲的拼音 长期不绑定手机号 微信上的电子保单,保存后为什么手机相册没有 李姝灿的名字可以吗 900厘米-2米等于多少米 900厘米加二米等于几米 900厘米是多少尺寸 章鱼,蛔虫,血吸虫,沙蚕分别属于什么动物 我真正想问的是: 1.在长江里游泳。感觉腿的脚板被小鱼猛的咬了一口,是不是被血吸虫咬了? 2.如确是感染 血吸虫为什么生活在水里? 鸡杂怎么清洗 setParameter和setParameterList的区别 java.lang.IllegalArgumentException: No positional parameters in query: select count(*) 外国动画片在哪里可以看到翻译成国语的动画片阿?电视动画软件 新手机累计检测次数120次,是新机子吗? 如何做才是一名合格的职工 如何做一名合格的员工 朋友圈视频音乐怎么搜出歌名 描写牛的四字词语有哪些 后起勃发成语什么意思 储存水豆腐的方法有哪些 离任村干部村两委意见怎么写 离任村干部退出是什么意思 用留用造句(大约30个左右) 用挽留造句(大约30个左右) 用去留造句(大约30个左右) 用自留造句(大约30个左右) 亲若手足成语解释 手足之情成语? 表示很亲密的成语? 怎么保存甜瓜 梦见旅游社弄错地方是什么意思