文章分类:Flash编程
最近对开源WebGIS很感兴趣,由于之前一直基于ArcGIS Server的Flex API和Mobile API做二次开发,所以自然对新发布的OpenScales(http://www.openscales.org)很关注。OpenScales旨在提供一个用户友好的、响应迅速的工具来操作空间数据,例如地理栅格视图、向量数据编辑,管理缩放和定位之间的平滑转换等等,作为一个用AS3写的开源工具,Openscales设计目的是为了易于在Flex/AIR应用中使用,它虽然小但是是GIS的有力核心。OpenScales当前最新版本是1.1。
OpenScales是客户端的组件库,要想使OpenScales真正发挥其威力,自然还要为其配备数据库和地图服务器。开源社区中,GeoServer和PostGIS可以算是一对不错的搭档。经过一番搜索和学习,暂定GeoServer+PostGIS+OpenScales作为我了解开源WebGIS的第一站。现在研究GeoServer和PostGIS的文章已经不胜枚举,所以在我的博客中打算更多的涉及OpenScales方面的内容。
闲言少叙,下面开始OpenScales应用的第一个例子。首先下载OpenScales压缩包,解压缩后,将bin中的四个swc为后缀的库文件添加到Flex项目的类路径中。代码如下(效果图见附件):
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:os="http://openscales.org" creationComplete="initMap();">
<!--Flex Map Component-->
<os:Map id="fxmap" height="100%" width="100%">
<!--Flex WMS Layer-->
<os:WMS name="China"
url="http://localhost:8080/geoserver/wms"
layers="smartropp:province"
format="image/jpeg"
isBaseLayer="true"
projection="EPSG:4326"/>
<!-- define max extent for map -->
<os:MaxExtent left="73.447" bottom="18.319" right="135.079" top="53.555"/>
<!-- drag handler to make map dragble -->
<os:DragHandler/>
<!-- mouse postion to display coordinate of cursor -->
<os:MousePosition/>
<!-- wheel handler to make map zooming in or out when mouse wheel rolling -->
<os:WheelHandler/>
</os:Map>
<mx:Script>
<![CDATA[
import org.openscales.core.Map;
import org.openscales.core.Trace;
[Bindable]
private var map:Map=null;
[Bindable]
public var displayTrace:Boolean=false;
[Bindable]
public var displayFirebugTrace:Boolean=false;
private function initMap():void
{
Trace.useFireBugConsole=displayFirebugTrace;
map=fxmap.map;
}
]]>
</mx:Script>
</mx:Application>
运行后效果图如附件中图片所示,可以对地图进行漫游(DragHandler)、通过滚动鼠标轮轴进行放大缩小(WheelHandler),在左上角显示鼠标坐标(MousePosition)。
OpenScales中提供了IHandler接口,以及实现了该接口的Handler类,该类可作为所有与地图操作有关的类的父类。OpenScales提供了很多实用类,用来实现用户与地图的交互。比如在例子中用到得DragHandler、WheelHandler等。我们也可以根据自己的需要继承Handler类,实现OpenScales没有提供的功能。
分享到:
相关推荐
WebGis-典型的jsoo架构项目,吐血奉献
基于openlayers的webgis开发,采用datagrid展现数据库中POI点信息,实现了点的增删改功能。以高德地图为底图,使用到了openlayers marker、popup等功能。另外添加了路线搜索,使用高德地图api,用openlayers进行渲染...
2017-03-WebGIS-前端开发技术2
开源 WebGIS:地图发布与地图服务——基于 MapServer 与 Leaflet 的实践
webgis-chinese
用MapXtreme+C#开发的地理信息系统,简单
摘 要:网络环境的变化及更高层次的应用需求对WebGIS的体系及功能提出了新的要求。该文在研究分析J2EE和ArcIMS结构体系和运行机制的基础上,结合具体的项目开发实例,论述了基于二者结合下的多层分布式WebGIS总体...
ebGIS(网络地理信息系统)是指工作在Web网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是Internet 上地理信息发布、共享和...
gbd-webgis-client 基于React和OpenLayers的地图查看器。要求最新的node.js和npm 。安装克隆仓库并运行npm install : git clone https://github.com/gbd-consult/gbd-webgis-clientcd gbd-webgis-clientnpm install...
以OpenLayers/Cesium、PostgreSQL/PostGIS、GeoServer等开源WebGIS技术为核心支撑,结合Vue、Spring Boot等前后端开发技术,设计和开发了基于开源WebGIS的移动端智慧养老App与Web端智慧养老管理系统。 1.关于账号...
自己写的WebGSI系统,语言:HTML+CSS+Javascript+ArcGIS API for Javascript,功能:地图展示,数据分析,可视化分析
前言
有登录界面,vue数据劫持,arc api等
OpenLayers优秀的开源WEBGIS
开源webgis:MapServer简介及其开发
webgis-course-p5 git克隆 npm安装 npm运行开始 npm运行构建
完全免费开源WEBGIS框架搭建步骤 内有详细图片说明 搭载工具Tomcat,postgresql,geoserver,eclipse,uDig
WebGIS开发-ArcGIS Server与.NET》源码 各种操作的例子程序 查询,buffer等等23个例子
开源webgis教程 webgis搭建从最基础开始到高级~
开源webgis 介绍geoserver和MapServer,其中重点介绍了mapserver及一个开发示例C#