下图为引路蜂地图开发包中关键的几个类定义及其关系图:
上图中显示为绿色的三个类分别用于对不同平台UI,不同地图服务,不同地图图片的支持,引路蜂地图开发包设计时对地图图片和地图服务两部分进行了抽象,其中地图图片主要用于显示地图图片,地图图片可以来源于三个方面
在线地图,可以连接包括Google Map, Bing Map 在内的二十多种地图,并支持自定义地图。
离线地图,可以读取本地地图包。
矢量地图,可以读取MapInfo格式(需使用工具转换)矢量地图。
而地图服务则指地址查询,路径查询,本地查询等。引路蜂地图开发包支持谷歌地图服务,在中国也同时支持MapABC,CloudMade,Bing 地图 地图服务也可以扩展)
两个部分相对独立,也就是说你可以实现在显示Bing Map的同时,使用谷歌地图服务,而在显示Bing Map中国地图时,使用MapABC地图服务。给开发人员以很大的自由选择余地。
引路蜂开发包之所以能够实现跨平台是因为对不同平台的图形系统进行了抽象。在GIS.Drawing 包中定义了 IImage, IGraphics, IFont, AbstractGraphicsFactory 抽象类和接口。这样对于不同的平台只要实现相应接口,就可以使用同一个开发包。
比如在 java ME平台上,程序员可以使用 midp.lcdui 或是 Lwuit 或是 Blackberry UI framework.
引路蜂地图开发包主要以Java ,C# (.Net)两种语言提供,尽管Java 和 C#是两种不同的语言,但开发包提供的两种语言的开发接口却非常类似,熟悉一种就很快就会知道如何在另一个平台上开发。
下表列表出了引路蜂地图开发包所定义的类包。
包名称 | Java 包 | .Net 包 |
Gis | com.mapdigit.gis | Mapdigit.Gis |
Gis.Geometry | com.mapdigit.gis.geometry | Mapdigit.Gis.Geometry |
Gis.Drawing | com.mapdigit.gis.drawing | Mapdigit.Gis.Drawing |
Gis.Raster | com.mapdigit.gis.raster | Mapdigit.Gis.Raster |
Gis.Service | com.mapdigit.gis.service | Mapdigit.Gis.Service |
Gis.Vector | com.mapdigit.gis.vector | Mapdigit.Gis.Vector |
Gis.Location | com.mapdigit.gis.location | Mapdigit.Gis.Location |
Gis.Navigation | com.mapdigit.gis.navigation | Mapdigit.Gis.Navigation |
Drawing | com.mapdigit.drawing | Mapdigit.Drawing |
Drawing.Geometry | com.mapdigit.drawing.geometry | Mapdigit.Drawing.Geometry |
Util | com.mapdigit.util | Mapdigit.Util |
Licence | com.mapdigit.licence | Mapdigit.Licence |