提起地图开发包,Google 地图和Bing 地图主要应用于Web应用,在离线方式和移动平台上它们并没有提供足够的支持,比如在Java ME平台上使用Google地图API或是在Android,iPhone平台上使用Bing地图。如在中国,想在Windows Mobile 平台上使用 MapABC地图API都不是很方便。
引路蜂地图开发包提供了对几乎所有软件平台(桌面和移动平台)的支持,采用统一的接口使用包括Google 地图,Bing地图,MapABC地图在内多达二十多种地图类型,并在同一开发包中支持离线地图,矢量地图显示。
下图显示了引路蜂地图开发包支持的开发平台,软件包以三个不同的开发包提供对各个平台的支持:
Java ME 地图开发包 MIDP/LWUIT/Blackberry
Java SE 地图开发包 Android/Java SE
.Net Framework 地图开发包 Windows Mobile/Windows Phone 7/.Net desktop/Mac OS/iPhone/iPad
引路蜂地图开发包支持的主要功能如下表
注:对于Mac OS, iPhone,iPad 的支持是通过Mono C#支持,.Net Mobile 包括 Windows Mobile 6.0-6.5 和 Windows Phone 7.
引路蜂地图开发包开源了!!!
开源代码经过整理,将逐步投放在github ,目前采用GPL 开源协议。
GitHub 地址 为 https://github.com/guidebee/ 下
- guidebeemap Java库源码
- guidebeemapdonnet .Net 库源码
- guidebeemaptutorial 教程及示例应用代码
- maptiledownloader 离线地图下载应用代码
地图开发包下载
- Java ME平台地图开发包
- LWUIT平台地图开发包
- Blackberry 平台地图开发包
- Android平台地图开发包
- iOS 平台地图开发包
- Windows Phone 平台地图开发包
- 桌面平台(Java SE, .Net Framework)地图开发包
这里提供一个比较完整的引路蜂地图Android应用源码下载,基本涵盖了引路蜂地图API的所有功能,包括离线地图,路径查询,地址查询,地图模式选择等。
设备上在Galaxy Nexus 和 Nexus S 测试通过,可以做为你学习或开发引路蜂地图应用的参考。
完整的Android引路蜂地图应用源码 下载
主界面:
搜索 ,包括: 地址查询, 本地查询,IP地图查询,经纬度查询:
查询结果显示:
路径查询:
路径地图显示:
地图模式:支持多种地图模式,并可以支持自定义地图
地址反编码:
关于离线地图,应用缺省读取所有存放在SD卡guidebee 目录下所有 .map 文件,代码如下:
MapTileStreamReader streamReader = SharedMapInstance.mapTileDownloadManager .getInteralMapTileStreamReader(); SharedMapInstance.worldMapFileStream = getResources() .openRawResource(R.raw.world); MapTiledZone worldmapZone = new MapTiledZone(new DataInputStream( SharedMapInstance.worldMapFileStream)); streamReader.addZone(worldmapZone); try { File sdcardDir = Environment.getExternalStorageDirectory(); File guidebeeDir = new File(sdcardDir, "guidebee"); if (guidebeeDir.exists()) { FilenameFilter filter = new FilenameFilter() { public boolean accept(File dir, String filename) { if (filename.endsWith(".map")) { return true; } return false; } }; String[] allMapfiles = guidebeeDir.list(filter); String path = guidebeeDir.getAbsolutePath(); if (allMapfiles != null) { for (int i = 0; i < allMapfiles.length; i++) { FileMapTiledZone mapTileZone = new FileMapTiledZone( path + File.separator + allMapfiles[i], false); Log.p(allMapfiles[i]); streamReader.addZone(mapTileZone); } } } } catch (Exception e) { }finally{ streamReader.open(); } } catch (Exception e) { }
你也可以根据你自己的需求放在其它目录下,记得要更改代码中对应的路径。
GPS支持,应用也提供了GPS支持,可以显示当前位置
关于软件使用许可,源码中包含试用许可
地图上会随机显示“Guidebee” 水印。正式版去除水印,关于正式版可以参见版本说明。
离线地图下载可以参见 离线地图工具 和离线地图下载 ,你可以通过离线地图工具自己制作离线地图,或是从本网站下载。
软件采用RoboGuice ,关于RoboGuice可以参见
Android RoboGuice 使用指南
- Android RoboGuice 使用指南(1):概述
- Android RoboGuice 使用指南(2):第一个例子Hello World
- Android RoboGuice 使用指南(3):Bindings 概述
- Android RoboGuice 使用指南(4):Linked Bindings
- Android RoboGuice 使用指南(5):Binding Annotations
- Android RoboGuice 使用指南(6):Instance Bindings
- Android RoboGuice 使用指南(7):@Provides Methods
- Android RoboGuice 使用指南(8):Provider Bindings
- Android RoboGuice 使用指南(9):Untargetted Bindings
- Android RoboGuice 使用指南(10):Just-in-time Bindings
- Android RoboGuice 使用指南(11):Scopes
- Android RoboGuice 使用指南(12):如何绑定generic类型
- Android RoboGuice 使用指南(13):RoboGuice 功能描述
- Android RoboGuice 使用指南(14):Inject View
- Android RoboGuice 使用指南(15):Inject Context
- Android RoboGuice 使用指南(16):Standard Injection
- Android RoboGuice 使用指南(17):Inject Extra
- Android RoboGuice 使用指南(18):Inject Resources
- Android RoboGuice 使用指南(19):发送接收Events
- Android RoboGuice2 使用指南(1): 概述
- Android RoboGuice2 使用指南(2): 第一个例子Hello World
- Android RoboGuice2 使用指南(3): Inject 自定义View
- Android RoboGuice2 使用指南(4): 综合示例Astroboy
完整的Android引路蜂地图应用源码 下载
引路蜂地图应用GNavigator完整源码
GNavigator是 曾经发布在Nokia Ovi Store的Java ME应用,基本使用到了引路蜂地图API的所有功能,尽管这是一个基于LWUIT的应用,使用Java语言开发,其它平台也可以参考这个应用的代码。
总代码量大约为24000行,其中纯代码为12000行。
几个用户界面如下:
包括导航演示(可以连接GPS)