当前位置: 首页 > 工具软件 > OpenScales > 使用案例 >

OpenScales 学习和介绍——地图是如何组成的

姜飞飙
2023-12-01

呵呵,这个名字有点大,事实上,就是想讲一下OpenScales里面Map是怎么显示出来的。

1. FxMap.as

你在flex,mxml中里面用到的Map:

<os:Map id="fxmap"width="100%" height="100%"zoom="12" centerLonLat="4.833,45.767">

事实上是FxMap,怎么把FxMap映射为类库中的map,大家可以看一下openscales-fx\src\main\flex\META-INF\manifest.xml文件,看懂了,以后自己做的类可以用用这样映射,方便,而且可以隐藏代码结构。


FxMap继承自Container,用来将Map包含进来,另外好像是为了适应flex的编写结构,能够直接通过Mxml中引入方便,加入的FxMap。

2. Map.as

Map继承自Sprite,实际上可以理解为一个Layer的管理器,大家都知道Map,就是多个Layer重叠起来的结构,只不过这里的Layer加到了Map里面的layerContainer中。

3.layerContainer

继承自一个DraggableSprite,也就是一个可以拖动的layer。

4.layer

我们在他的例子中,应用的layer添加方式,实际上也是对应于FxLayer的,FxLayer和layer的关系和FxMap和map的关系类似吧。

例如:<os:Mapnik name="Mapnik"  isBaseLayer="true"  proxy="http://openscales.org/proxy.php?url="/>

5. RemoteImageLayer 和 FeatureLayer

layer分为两类:

一类是从服务器端的图片作为源,显示来自服务器端图片的layer,都是RemoteImageLayer ,可以理解为组织来自后台数据的图层,那么我们平时接触的ogc标准的wms图层,tile(瓦片图层),esri的ims,ags服务图层,都属于这类图层。

另外一类是在前台绘制的图层,FeatureLayer就是用于显示这些的。我们有时候绘制图层,或者在知道坐标,样式,显示地块的时候,再就是高亮,强调地块的时候,用这个就比较多。

6. Feature

Feature对应于FxFeature,这个不说了,代码结构里面的feature,style的类,都是用来构建feature的,Feature都是用来显示在FeatureLayer上的。和RemoteImageLayer 无关系。

7. Grid.as

和RemoteImageLayer有关的就是这个了,Grid,故名思议,就是块,那么我们知道对于瓦片图层,就是多块组成了视野范围内的图层,而IMS,WMS之类的服务,都是一大块图片,就是视野范围图层啦。因此Grid.as分为SingleGrid和MultiGrid(这个我起的名,别找这个类),SingleGrid 好办,范围变了,刷新,重新从后台请求就OK,二对于Tile服务,那就是MultiGrid了,那么Tile命名规则不同,组图层的方法就不同。这个也是大家问的挺多的问题。这个以后专门讲一下吧。

8. Tile.as

就是瓦片了,这里不多说了。


好了,就图层显示来说,由下到上就是组成顺序,由上到下就是怎么说,容器的包含顺序?反正你应该懂得。

 类似资料: