说明:本文是基于OpenScales官方文档所做的翻译,水平有限,难免有错误之处,欢迎指正。
OpenScales是基于ActionScript3和Flex的开源(LGPL)地图框架。方便建立富互联网地图应用程序。最新稳定版本是OpenScales1.1.4,截止到2011年3月28日。以下是基于OpenScales的一个具体应用截图:
特点
一、支持多类型层
OGC协议:WMS/WMS-C 1.1.1,WFS1.0,GetCapabilities支持
开放街道地图
IGN(french Geoportal)层,由于GeoRM支持
KML(只限于地理标识)说明:这是Google开发的一种地理标记语言,是XML的一种应用。
简单图片
二、最佳化的纯ActionScript3内核(100kb)
三、建立在AS3核心的基础上,支持Flex
四、绘图
五、快速导航渲染
六、强大的样式API
七、支持弹出框
八、为导航,缩放,拼接增加补间效果
九、XML运行时配置,以从一个单一的SWF编译后应用程序中获取动态地图。
十、强大的组件和处理程序帮助你建立自己的应用程序
应用平台
OpenScales被设计运行在所有类型的设备上:
移动设备(ActionScript3):通过Flash10.1播放器(未发布版本)在Palm Pre测试过。
互联网(Flex):OpenScales 1.1 通过Flash9和10播放器,成功运行在Windows,Mac和Linux系统上98%的当前互联网浏览器上。
桌面应用程序(AIR):基于OpenScales和AIR的桌面地图程序方便管理在线模式,开放的本地文件,例如外形文件等。
基本的类
OpenScales由以下几个关键概念组成。
Map:map在OpenScales是主要的类。一个map允许在一个指定的范围内显示一个或多个图层。基于用户输入,例如鼠标和键盘,可以改变范围和缩放程度
Layer:layer就是图层上的数据源,通常可以获取在一个指定的范围和缩放程序范围内。有两个主要类型的图层:
特征图层:数据就是几何体,例如带有一些属性和样式信息的点或者多边形。
光栅图层:这些数据就是地理定位的图片。
Handler:处理程序通过监听用户输入(鼠标,键盘)来移动地图,缩放,绘制特征等。
Controls:GUI组件被用来显示按钮,滑块,以允许控制地图。
模块 OpenScales是由不同的模块组成(括号里是所使用的技术) openscales-core (ActionScript 3 库) : 核心模块,包含主要的类,例如Map,Layer,Handler……。 openscales-proj4as (ActionScript 3库) : 由于大小和性能的原因,采用纯ActionScript3来开发openscales-core,所以,openscales-fx借助于Flex组件的力量,为便于开发基于OpenScales的应用程序,提供一些Flex组件。 openscales-testing (Flex应用):为OpenScales开发人员准备的单元测试程序 openscales-as-example (ActionScript 3 应用) : 纯 ActionScript 3 示例应用 openscales-fx-examples (Flex 应用) : 示例Flex demo,为应用开发人员展现代码示例和功能。 openscales-air-example (AIR 应用) :通过AIR建立的桌面应用,点击模块名字,可以访问相关模块的API参考文档