成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java SE引路蜂地圖開(kāi)發(fā)示例

開(kāi)發(fā) 后端
引路蜂開(kāi)發(fā)包License分兩部分,一個(gè)為L(zhǎng)icense文件guidebee.lic ,另一部分為L(zhǎng)icense文件對(duì)應(yīng)的注冊(cè)碼,需在程序運(yùn)行前初始化。

引路蜂地圖也提供對(duì)Java SE平臺(tái)的支持,可以開(kāi)發(fā)桌面地圖應(yīng)用,由于Java SE的跨平臺(tái)特性,使用Java SE引路蜂地圖開(kāi)發(fā)包開(kāi)發(fā)的地圖應(yīng)用可以運(yùn)行于Windows ,Lunix,Unix,Mac OS等平臺(tái)。開(kāi)發(fā)桌面應(yīng)用比開(kāi)發(fā)移動(dòng)應(yīng)用要容易的多,屏幕,內(nèi)存等方面都比移動(dòng)平臺(tái)要寬裕的多。

下面使用一個(gè)簡(jiǎn)單的應(yīng)用來(lái)介紹一下Java SE引路蜂地圖開(kāi)發(fā)。示例截圖如下

設(shè)置引路蜂地圖開(kāi)發(fā)包License

引路蜂開(kāi)發(fā)包License分兩部分,一個(gè)為L(zhǎng)icense文件guidebee.lic ,另一部分為L(zhǎng)icense文件對(duì)應(yīng)的注冊(cè)碼,需在程序運(yùn)行前初始化

  1. LicenceManager licenceManager = LicenceManager.getInstance();  
  2. ong keys[]= {0x41c0df1c118b1831L,0x21884a37bde642bcL,0x15c4d489531ac173L,  
  3.   0x5f9e69136c1e3268L,-0x3adaa84e455c5acL,0x2095f679b184dbdfL,};  
  4. icenceManager.addLicence("GuidebeeMap_JavaSE", keys); 

設(shè)置Java SE平臺(tái)相關(guān)圖形系統(tǒng)實(shí)現(xiàn)

引路蜂地圖開(kāi)發(fā)包,在設(shè)計(jì)時(shí)盡量做到平臺(tái)無(wú)關(guān)性,將一些平臺(tái)相關(guān)的部分,如圖形系統(tǒng)以接口形式定義,如IFont,IGraphics,AbstractGraphicsFactory,IImage。這樣在應(yīng)用到具體平臺(tái)時(shí),加上平臺(tái)相關(guān)的實(shí)現(xiàn),可以實(shí)現(xiàn)同一個(gè)庫(kù)應(yīng)用到不同的平臺(tái)。這些平臺(tái)實(shí)現(xiàn)是以源碼提供的,如在Java SE平臺(tái),提供了JavaSEFont,JavaSEGraphics,JavaSEGraphicsFactory和JavaSEImage類(lèi)定義,可以參見(jiàn)引路蜂地圖API概述。

初始化地圖對(duì)象及設(shè)置服務(wù)回調(diào)函數(shù)

  1. MapConfiguration.setParameter(MapConfiguration.WORKER_THREAD_NUMBER, 16);  
  2. mapTileDownloadManager = new MapTileDownloadManager(this);  
  3. map = new RasterMap(20482048, mapTileDownloadManager);  
  4. map.setScreenSize(mapLabel.getWidth(), mapLabel.getHeight());  
  5. mapTileDownloadManager.start();  
  6. map.setMapDrawingListener(this);  
  7. GeoLatLng center = new GeoLatLng(32.0616667118.7777778);  
  8. map.setCenter(center, 4, MapType.MICROSOFTCHINA);  
  9. map.setRoutingListener(this);  
  10. map.setGeocodingListener(this);  
  11. map.setReverseGeocodingListener(this); 

上述代碼設(shè)置地圖工作線程數(shù)為16,一般來(lái)說(shuō)增加工資線程數(shù)可以提高地圖下載及響應(yīng)速度。
創(chuàng)建地圖對(duì)象,設(shè)置顯示區(qū)域(屏幕)大小。此外地圖服務(wù)如查詢地址,獲取路徑都是采用異步方式,通過(guò)設(shè)置回調(diào)函數(shù)如setRoutingListener,setGeocodingListener,setReverseGeocodingListener等來(lái)通知應(yīng)用 。

設(shè)置地圖中心和地圖類(lèi)型

  1. GeoLatLng center = new GeoLatLng(32.0616667118.7777778);  
  2. map.setCenter(center, 4, MapType.MICROSOFTCHINA); 

地圖縮放

RasterMap的 ZoomIn,ZoomOut用來(lái)放大和縮小地圖,setZoom可以設(shè)置地圖級(jí)別。

地圖平移

RasterMap 有兩個(gè)方法可以用于平移地圖,panTo 將地圖移動(dòng)到指定經(jīng)緯度坐標(biāo),panDirection(dx,dy) 將地圖從當(dāng)前位置平移dx,dy 個(gè)象素。 下列示例可以上,下,左,右平移地圖。

地址查詢

地址查詢(或稱為地址編碼)是將輸入的地名(如南京林業(yè)大學(xué))轉(zhuǎn)換成對(duì)應(yīng)的經(jīng)緯度坐標(biāo)然后將其顯示在地圖上。

所有的地圖服務(wù)都是采用異步方式調(diào)用,在調(diào)用RasterMap.getLocation(address)前,需要設(shè)置好返回結(jié)果時(shí)的回調(diào)函數(shù)RasterMap.setGeocodingListener,回調(diào)函數(shù)接口定義為IGeocodingListener。 回調(diào)方法為public void done(String query,MapPoint[] result) ,如果查詢結(jié)果不為空,則reusult 為查詢結(jié)果的數(shù)組。示例中將地圖轉(zhuǎn)到第一個(gè)查詢結(jié)果。

對(duì)于MapAbc 地圖服務(wù),還可以指定城市編碼,如南京編碼為25。public void getLocation(int citycode,String query, IGeocodingListener listener);

路徑查詢

可以通過(guò)RasterMap的getDirection()方法來(lái)查詢路徑,和查詢地址類(lèi)似,路徑查詢的結(jié)果也是通過(guò)回調(diào)函數(shù)的方式來(lái)通知應(yīng)用程序的,下面的例子返回南京到北京的路徑。返回結(jié)果存放在MapDirection中,MapDirection包含了路徑的詳細(xì)信息,包括路徑的每個(gè)步驟,長(zhǎng)度,時(shí)間,方向等。

地圖服務(wù)可以選擇使用Google 地圖服務(wù),CloudMade地圖服務(wù),在中國(guó)還可能選擇MapAbc地圖服務(wù),缺省使用Google 地圖服務(wù)。

getDirections()具有三個(gè)重載函數(shù),例子中是采用的文字描述方式。上述示例采用了from: address1 to: address2 的格式, CloudMade地圖服務(wù)和MapAbc地圖服務(wù)則必需采用 經(jīng)度1,緯度1,經(jīng)度2,緯度2和格式。

為避免混淆,可以使用下述格式。

public void getDirection(GeoLatLng[] waypoints, IRoutingListener listener);

其中 waypoints 為途徑點(diǎn)坐標(biāo)數(shù)組經(jīng)緯值,可以支持多點(diǎn)路徑查詢。

此外對(duì)于MapAbc 地圖服務(wù),還可以指定城市編碼,如南京編碼為25。

public void getDirection(int citycode,String query, IRoutingListener listener);

本地查詢

本地查詢可以查詢指定區(qū)域內(nèi)諸如賓館,郵局等用戶感興趣的地方。其使用方法和地址查詢非常類(lèi)似。

本地查詢方法public void getLocations(String address,int start,GeoLatLng center,GeoBounds bound, IGeocodingListener listener);
指定中心點(diǎn)和查詢區(qū)域。本地查詢可以多次返回結(jié)果,start為查詢結(jié)果起始順序,每次返回結(jié)果在SearchOptions 中定義,缺省每次返回4個(gè)。

選擇地圖服務(wù)

引路蜂地圖服務(wù)缺省使用Google地圖服務(wù),但你也可以選擇其它地圖服務(wù),比方說(shuō)當(dāng)Google服務(wù)離線時(shí),您可以選擇MapAbc的地圖服務(wù),另外要注意的是中國(guó)地圖是有偏移的。如果想使用無(wú)偏移的中國(guó)地圖,一是采用地圖偏移校正算法,另外一個(gè)是使用CloudMade地圖服務(wù)。

所前所述,引路蜂地圖開(kāi)發(fā)包在設(shè)計(jì)時(shí)將地圖圖片顯示和地圖服務(wù)兩部分設(shè)計(jì)成相對(duì)獨(dú)立的兩部分,Google中國(guó)地圖圖片,Bing中國(guó)地圖圖片,MapAbc中國(guó)地圖圖片是有偏移的地圖圖片,CloudMade(OpenStreet)中國(guó)地圖圖片是無(wú)偏移的。而Google中國(guó)地圖服務(wù),MapAbc中國(guó)地圖服務(wù)是有偏移,CloudMade地圖服務(wù)是無(wú)偏移的。所以在選擇地圖類(lèi)型和地圖服務(wù)類(lèi)型時(shí),要么都選擇有偏移,要么都選擇無(wú)偏移。否則地圖在顯示路徑時(shí)或地址時(shí)就不匹配。

下面列表是合法的組合:

地址反編碼

地址反編碼是通過(guò)經(jīng)緯度查詢對(duì)應(yīng)的地名,

注意使用字符串經(jīng)緯度格式時(shí),緯度在前,經(jīng)度在后,如果反了,則返回的地名或能為空或都跑到外國(guó)去了。結(jié)果也是一個(gè)數(shù)組,一般到第一個(gè)結(jié)果,后面結(jié)果是更大的區(qū)域或是距離相對(duì)較遠(yuǎn)的地名。

其它

其它如地圖偏移,離線地圖,自定義地圖,疊加自定義圖層可以參加Android平臺(tái)Android自定義地圖示例:QQ地圖,Android引路蜂地圖開(kāi)發(fā)示例:疊加自定義圖層 ,Android引路蜂地圖開(kāi)發(fā)示例:離線地圖示例。

Java SE 平臺(tái) 

文檔下載:點(diǎn)擊

開(kāi)發(fā)庫(kù):點(diǎn)擊

實(shí)例代碼:點(diǎn)擊

開(kāi)發(fā)指南:點(diǎn)擊

原文鏈接:http://blog.csdn.net/mapdigit/article/details/7742550

【編輯推薦】

  1. 中軟國(guó)際Java程序員筆試題
  2. 深度解析Java內(nèi)存的原型及工作原理
  3. 用Java實(shí)現(xiàn)的日志切割清理工具
  4. 基于Java阻塞隊(duì)列的搜索實(shí)例
  5. Java輕量級(jí)開(kāi)發(fā)工具,我推薦
責(zé)任編輯:張偉 來(lái)源: mapdigit的博客
相關(guān)推薦

2013-12-27 12:42:15

Android開(kāi)發(fā)Android應(yīng)用引路蜂

2013-12-26 16:33:24

Android開(kāi)發(fā)Android應(yīng)用引路蜂二維圖形繪制

2013-12-27 12:51:44

Android開(kāi)發(fā)Android應(yīng)用引路蜂

2012-02-03 14:01:15

地圖

2009-06-16 11:23:00

InstrumentaJava SE 6新特

2011-08-23 14:58:54

Gartner云服務(wù)中間件

2011-08-09 13:10:32

iPhone地圖開(kāi)發(fā)

2012-09-24 09:46:20

JavaScriptJSHTML5

2017-12-30 00:23:10

容器開(kāi)源

2022-02-28 15:44:05

鴻蒙系統(tǒng)鴻蒙API加載網(wǎng)絡(luò)圖片

2009-06-16 11:24:00

HTTP增強(qiáng)Java SE 6新特

2011-08-04 13:50:03

Java 7

2012-10-12 10:30:37

PHPOauth

2009-09-09 10:23:27

JDK 5Java SE 6

2013-08-27 10:31:05

Headless模式Java SE設(shè)計(jì)模式

2022-02-08 15:21:59

Hi3861開(kāi)發(fā)鴻蒙

2011-07-05 10:12:46

OpenJDKJava SE 7

2017-06-19 11:15:08

IntelliJ IDJava開(kāi)發(fā)

2011-10-21 10:16:25

百度地圖API

2017-07-21 11:28:57

前端Threejs3D地圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美精品在线一区 | 欧美黄视频| 不卡的av电影 | 亚洲欧美在线视频 | 国产高潮好爽受不了了夜色 | 97视频在线免费 | 免费在线看黄视频 | 日本黄色一级视频 | 99精品国产一区二区青青牛奶 | 国产一区精品 | 国产色婷婷精品综合在线手机播放 | 成人精品视频在线 | 成人免费淫片aa视频免费 | 亚洲精品久久久久中文字幕欢迎你 | 99精品免费视频 | 一本久久a久久精品亚洲 | 国产精品视频免费观看 | 免费在线一区二区 | 欧美影院| 久久久一二三区 | 久久国产精品久久 | 色一级 | 中文字幕一区二区三区乱码在线 | 成人免费区一区二区三区 | 日本特黄a级高清免费大片 成年人黄色小视频 | 在线电影日韩 | 欧美一区二区在线观看 | 99久久影院 | 一区二区三区播放 | 国产成人在线播放 | 国产精品1区2区3区 欧美 中文字幕 | 久久国产精品99久久久久 | 亚洲高清在线播放 | 最近中文字幕第一页 | 亚洲狠狠爱 | 亚洲天堂精品一区 | 亚洲午夜av | 日韩av一区二区在线 | av在线一区二区 | 亚洲国产精品人人爽夜夜爽 | h在线播放 |