MapGuide API

1.1 MapGuide API

MapGuide是一个三层架构的Web GIS系统,所以MapGuide API也分为了两大类:服务器端API和客户端API,如图3-1所示。

MapGuide API

3-1 MapGuide API

1.1.1 服务器端API

服务器端API也称之为MapGuide Web API,它是运行在Web应用服务器上的一系列类的集合,通过这些API可以实现创建地图,查询、更新和分析地图数据等功能。为了支持不同类型的开发和部署环境,MapGuide Web API提供了Java.NETPHP三种语言类型的API,这三种语言类型的API提供了完全相同的功能,只是语法上有所区别。按照实现功能的不同,我们可以将MapGuide Web API分为图3-1所示的模块。

l 通用类(Common):提供了一些通用类,这些类是实现其它类的基础,例如MgObjectMgDisposableMgColorMgByteReader等。其中,MgObjectMapGuide Web API中其它所有非常量类的基类。

l 集合类(Collection):提供了一些集合类,例如MgCollectionMgStringCollectionMgIntCollection等,这些集合类不是线程安全的,集合中的元素按照插入的顺序排序。其中,MgCollection是所有集合类的基类。

l 异常类(Exception):提供了MapGuide能够抛出的所有异常类,MgException是所有异常类的基类。

l 空间参考系类(Coordinate System):提供了用于获取空间参考系的定义信息、对坐标值进行坐标转换、测量两个坐标值间距离等功能的类。

l 几何对象类(Geometry):提供了创建和读写二2.5维几何对象,以及对几何对象进行分析的类。

l 要素类(Feature):提供了定义一个要素类和要素类中所有属性需要用到的类,例如MgFeatureClassDefinitionMgPropertyDefinitionMgProperty等。

l 地图和图层类(Maps and Layers):提供了创建和访问地图和图层所需的类,例如MgMapMgLayerMgLayerGroup等。

l 站点服务(Site Service):用于配置用户、用户组和用户Session

l 资源服务(Resource Service):用于操作资源库和资源。

l 渲染服务(Rendering Service):用于将地图渲染为图像,让用户使用AJAX ViewerFusion Viewer来浏览地图。

l 地图服务(Mapping Service):用于将地图创建为eMap格式的DWF文件,让用户可以使用DWF Viewer来浏览地图,或者将地图创建为ePlot格式的DWF文件用于打印。

l 制图服务(Drawing Service):提供了访问存储在DWF数据源中的DWF数据的功能。

l 要素服务(Feature Service):用于操作要素源中的要素数据。

l 分块服务(Tiling Service):用于将地图分割为固定大小的图像块,并且将这些图像缓存在MapGuide服务器上,当用户使用AJAX Viewer缩放或移动地图时,能够提供更好的性能。

l KML服务(KML Service):用于将地图发布为KML,用户可以使用Google Earth作为客户端来浏览MapGuide服务器提供的地图。

MapGuide Web API

3-2 MapGuide Web API的构成

Autodesk开发MapGuide Web API之时,内部开发人员为了便于对这些API进行测试,开发了一个基于Web的测试工具,它可以测试大部分服务类API。事实上,在MapGuide的安装版中也提供了这个工具。在浏览器的地址栏中输入如下的地址,就可以打开这个工具,

开源版MapGuide

http://mapguide_server:port/mapguide/mapagent/index.html

企业版MapGuide

http://mapguide_server:port/mapguide_xxxx/mapagent/index.html

它的用户界面如图3-3所示。上面的地址中,“mapguide_server”代表MapGuide Web扩展所在的服务器,“port”代表Web应用服务器的端口号,“xxxx”代表MapGuide的版本号。这个工具也是一个非常好的API学习工具和MapGuide应用程序调试工具,通过在网页上输入方法的所需的参数,可以非常方便和直观地看到方法的执行结果。

MapGuide Web Tier Test

3-3 MapGuide Web Tier Tester

1.1.2 客户端API

对于胖客户端,MapGuide StudioMapGuide Maestro提供了API用于定制它们的用户界面和功能。

对于瘦客户端,MapGuide提供了Viewer API,它由一组运行在浏览器的JavaScript函数组成,用于配合MapGuide Viewer和用户进行交互,通过这些API可以实现诸如缩放、平移、选择、打印等功能。非常遗憾的是,因为不同类型的Viewer基于完全不同的技术框架,所以不同类型的Viewer提供了完全不同的API,这对于MapGuide的二次开发造成了一定的不便。相对于其它类型的ViewerFusion Viewer能提供更加灵活和强大的功能,所以Autodesk将主要的精力用于改进Fuision Viewer,也建议用户使用Fusion Viewer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值