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

Java SE引路蜂地圖開發示例

開發 后端
引路蜂開發包License分兩部分,一個為License文件guidebee.lic ,另一部分為License文件對應的注冊碼,需在程序運行前初始化。

引路蜂地圖也提供對Java SE平臺的支持,可以開發桌面地圖應用,由于Java SE的跨平臺特性,使用Java SE引路蜂地圖開發包開發的地圖應用可以運行于Windows ,Lunix,Unix,Mac OS等平臺。開發桌面應用比開發移動應用要容易的多,屏幕,內存等方面都比移動平臺要寬裕的多。

下面使用一個簡單的應用來介紹一下Java SE引路蜂地圖開發。示例截圖如下

設置引路蜂地圖開發包License

引路蜂開發包License分兩部分,一個為License文件guidebee.lic ,另一部分為License文件對應的注冊碼,需在程序運行前初始化

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

設置Java SE平臺相關圖形系統實現

引路蜂地圖開發包,在設計時盡量做到平臺無關性,將一些平臺相關的部分,如圖形系統以接口形式定義,如IFont,IGraphics,AbstractGraphicsFactory,IImage。這樣在應用到具體平臺時,加上平臺相關的實現,可以實現同一個庫應用到不同的平臺。這些平臺實現是以源碼提供的,如在Java SE平臺,提供了JavaSEFont,JavaSEGraphics,JavaSEGraphicsFactory和JavaSEImage類定義,可以參見引路蜂地圖API概述。

初始化地圖對象及設置服務回調函數

  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); 

上述代碼設置地圖工作線程數為16,一般來說增加工資線程數可以提高地圖下載及響應速度。
創建地圖對象,設置顯示區域(屏幕)大小。此外地圖服務如查詢地址,獲取路徑都是采用異步方式,通過設置回調函數如setRoutingListener,setGeocodingListener,setReverseGeocodingListener等來通知應用 。

設置地圖中心和地圖類型

  1. GeoLatLng center = new GeoLatLng(32.0616667118.7777778);  
  2. map.setCenter(center, 4, 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 地圖服務,還可以指定城市編碼,如南京編碼為25。public void getLocation(int citycode,String query, IGeocodingListener listener);

路徑查詢

可以通過RasterMap的getDirection()方法來查詢路徑,和查詢地址類似,路徑查詢的結果也是通過回調函數的方式來通知應用程序的,下面的例子返回南京到北京的路徑。返回結果存放在MapDirection中,MapDirection包含了路徑的詳細信息,包括路徑的每個步驟,長度,時間,方向等。

地圖服務可以選擇使用Google 地圖服務,CloudMade地圖服務,在中國還可能選擇MapAbc地圖服務,缺省使用Google 地圖服務。

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

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

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

其中 waypoints 為途徑點坐標數組經緯值,可以支持多點路徑查詢。

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

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

本地查詢

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

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

選擇地圖服務

引路蜂地圖服務缺省使用Google地圖服務,但你也可以選擇其它地圖服務,比方說當Google服務離線時,您可以選擇MapAbc的地圖服務,另外要注意的是中國地圖是有偏移的。如果想使用無偏移的中國地圖,一是采用地圖偏移校正算法,另外一個是使用CloudMade地圖服務。

所前所述,引路蜂地圖開發包在設計時將地圖圖片顯示和地圖服務兩部分設計成相對獨立的兩部分,Google中國地圖圖片,Bing中國地圖圖片,MapAbc中國地圖圖片是有偏移的地圖圖片,CloudMade(OpenStreet)中國地圖圖片是無偏移的。而Google中國地圖服務,MapAbc中國地圖服務是有偏移,CloudMade地圖服務是無偏移的。所以在選擇地圖類型和地圖服務類型時,要么都選擇有偏移,要么都選擇無偏移。否則地圖在顯示路徑時或地址時就不匹配。

下面列表是合法的組合:

地址反編碼

地址反編碼是通過經緯度查詢對應的地名,

注意使用字符串經緯度格式時,緯度在前,經度在后,如果反了,則返回的地名或能為空或都跑到外國去了。結果也是一個數組,一般到第一個結果,后面結果是更大的區域或是距離相對較遠的地名。

其它

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

Java SE 平臺 

文檔下載:點擊

開發庫:點擊

實例代碼:點擊

開發指南:點擊

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

【編輯推薦】

  1. 中軟國際Java程序員筆試題
  2. 深度解析Java內存的原型及工作原理
  3. 用Java實現的日志切割清理工具
  4. 基于Java阻塞隊列的搜索實例
  5. Java輕量級開發工具,我推薦
責任編輯:張偉 來源: mapdigit的博客
相關推薦

2013-12-27 12:42:15

Android開發Android應用引路蜂

2013-12-26 16:33:24

Android開發Android應用引路蜂二維圖形繪制

2013-12-27 12:51:44

Android開發Android應用引路蜂

2009-06-16 11:23:00

InstrumentaJava SE 6新特

2012-02-03 14:01:15

地圖

2011-08-23 14:58:54

Gartner云服務中間件

2011-08-09 13:10:32

iPhone地圖開發

2012-09-24 09:46:20

JavaScriptJSHTML5

2017-12-30 00:23:10

容器開源

2009-06-16 11:24:00

HTTP增強Java SE 6新特

2022-02-28 15:44:05

鴻蒙系統鴻蒙API加載網絡圖片

2011-08-04 13:50:03

Java 7

2009-09-09 10:23:27

JDK 5Java SE 6

2013-08-27 10:31:05

Headless模式Java SE設計模式

2012-10-12 10:30:37

PHPOauth

2022-02-08 15:21:59

Hi3861開發鴻蒙

2011-07-05 10:12:46

OpenJDKJava SE 7

2017-06-19 11:15:08

IntelliJ IDJava開發

2017-07-21 11:28:57

前端Threejs3D地圖

2011-10-21 10:16:25

百度地圖API
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码精品一区二区三区五月婷 | 亚洲精品日韩在线 | 精品国产综合 | 国产精品免费福利 | 免费一区 | 在线免费国产 | 99热电影| 欧美一区中文字幕 | www国产亚洲精品久久网站 | 久久免费视频2 | 中文字幕综合 | 亚洲精品成人在线 | 国产精品久久久久影院色老大 | 亚洲国产二区 | 欧美精品电影一区 | 国产美女精品 | 国产精品久久久久久久久久免费看 | 久久久精品影院 | 国产精品一区二区在线 | 欧美在线观看免费观看视频 | 成人免费看黄 | 影音先锋男 | 日韩另类 | 国产精品99久久久久久久久久久久 | 成人国产在线观看 | www国产亚洲精品 | 成人毛片在线视频 | 国产视频在线一区二区 | 免费亚洲婷婷 | 久久久国产精品 | 成人午夜精品 | 精品国产91乱码一区二区三区 | 麻豆av一区二区三区久久 | 亚洲高清在线观看 | 亚洲精品一 | 国产九九九 | 久久久久国产一区二区三区不卡 | 国产精品久久久久久久久久久久久 | 中文字幕在线播放第一页 | 狠狠操狠狠操 | 色综合中文 |