地图 Map
Map 用于装载各类图层数据,负责完成用户通过鼠标或键盘与地图的交互操作,如缩放、平移、绘制等操作;与地图浏览辅助控件相关联,如鹰眼控件、罗盘、放大镜等。
图1 Map 地图控件结构图
(虚线框表示抽象类,实线框表示可创建类)
如上图所示:
总之,Map 是地理信息系统数据和操作的承载平台,要实现一个地理信息系统首先必须加载一个 Map。
Map 本身有一些重要属性,它们的设置会影响地图数据的显示状态,下表列出了 Map 的常用属性,其他属性请参见程序员参考 Map 对象。
表1 Map 常用属性
接口 | 说明 | |
---|---|---|
![]() |
action | 获取或者设置地图当前的操作,默认值为平移 Pan。 地图操作用于完成通过鼠标或键盘与地图进行交互的操作,它们都继承 MapAcion,如平移(Pan)、放大(ZoomIn)、绘制点/线/面等。 |
![]() |
CRS | 获取或设置地图的坐标参考系。坐标参考系使用 EPSG 发布的代表特定椭球体、单位、地理坐标系或投影坐标系的 Well Konwn ID 值(简称 WKID),例如 “EPSG:4326” 代表 WGS 84 地理坐标系,其中 WKID=4326。 |
![]() |
bounds | 获取地图的地理范围。该属性等于 Map 中加载的所有图层的地理范围的并集。 |
![]() |
viewBounds | 获取或设置地图的可视地理范围。例如现有一幅世界地图的 Bounds 为 (-180,-90,180,90),在地图控设置 ViewBounds 属性为 (0,0,180,90),则这时呈现出的世界地图为东经0-180度、北纬0-90度的地理范围。 |
![]() |
scales | 获取或设置地图比例尺数组。当地图控件设置了该属性后,地图可缩放的范围与比例尺数组中设置的比例尺一一对应。 |
![]() |
resolutions |
获取或设置地图分辨率数组。 1.对于分块缓存图层也拥有 Resolutions 属性,它们之间的关系是:当分块缓存图层和 Map 的分辨率数组 Resolutions 中存在相等的分辨率值时以该分辨率出图,否则不显示。当没有设置 Map 的分辨率数组 Resolutions 时,以图层的 Resolutions 显示。 有关分块缓存图层与动态图层请参见《分块图层与动态图层》 |
![]() |
level | 获取地图的缩放级别。该值等于当前地图控件的Resolution 或 Scale 在 Resolutions 或 Scales 数组中的索引值。如果 Resolutions 和 Scales 都为空,则该属性为默认值-1,即无限制缩放。 |
![]() |
layers | 获取或设置当前地图中的所有图层。此处获取的 layers 是一个 layer (《图层》)数组对象。 |
地图控件中同时拥有比例尺和分辨率是因为有些服务能够直接提供地图比例尺(例如 SuperMap 图层),而有些服务并未涉及比例尺,则建议使用分辨率属性。有关比例尺和分辨的内容请参见 《分辨率和比例尺》。
MXML |
![]() |
---|---|
|
MXML |
![]() |
---|---|
|