当前位置: 代码迷 >> GIS >> 【学习札记】GIS开发——配置OpenScales开发环境
  详细解决方案

【学习札记】GIS开发——配置OpenScales开发环境

热度:163   发布时间:2016-05-05 06:28:04.0
【学习笔记】GIS开发——配置OpenScales开发环境
学习教程http://blog.csdn.net/dragoonnet/article/details/6334228配置的第一个工程。
代码和相关注释:
<?xml version="1.0" encoding="utf-8"?><!--	增加了一个命名空间:xmlns:os="http://openscales.org",使"os"的命名空间与OpenScales-fx库连接成功--><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"			   xmlns:s="library://ns.adobe.com/flex/spark"			   xmlns:mx="library://ns.adobe.com/flex/mx"			   minWidth="955"			   minHeight="600"			   xmlns:os="http://openscales.org"			   creationComplete="initMap();">		<fx:Declarations>	</fx:Declarations>	<!--		创建一个地图对象:		id 是唯一标示,这儿我们命名为fxmap.		width 和 height限制地图的大小.		zoom 设置地图开始的缩放等级.		center 代表地图居中的坐标.应该与基本层有相同的投影.		x 和 y 决定了地图空间在应用程序的位置.	-->	<os:Map id="fxmap"			width="500"			height="600"			center="-100.10929,40.48437"			zoom="3"			x="100"			y="100">				<!--			增加一个开放的街道地图(OSM)层:proxy 参数不是必须的,但是可以针对OSM服务器可以阻止安全错误,不合法的跨域操作等.			其他的街道层还有 : Cycle Map, Osmarender 都可以在地图作为OSM数据,只是他们有其他的渲染规则.			eg:<os:Osmarender name="base" proxy="http://www.openscales.org/proxy.php?url=" />		-->		<os:Mapnik name="base"		proxy="http://www.openscales.org/proxy.php?url=" />		<!--			KML层没有设置为基本层,所以它将在OSM层上面.		-->		<os:KML url="http://code.google.com/intl/fr/apis/kml/documentation/KML_Samples.kml" proxy="http://openscales.org/proxy.php?url=" numZoomLevels="20" style="{Style.getDefaultLineStyle()}"/>		<!--			鼠标事件:				鼠标滚轮缩放 (WheelHandler)			点击事件 (ClickHandler)			鼠标移动或者拖放事件 (DragHandler)		-->		<os:DragHandler id="dragHandler" active="true"/>		<os:WheelHandler/>		<!--鼠标焦点事件-->		<os:MousePosition x="10" y="{fxmap.height-20}" displayProjection="EPSG:4326"/>		<!--			OGC层的范例: Web Feature Service (WFS)?			OGC(开放地理空间联盟)定义了类似WFS,WMS等多个协议			你在OpenScales-fx-example中可以找到很多关于OGC层的例子.下面是这个例子提供了网络要素服务作为基本层。		-->		<os:WFS name="Topp States (WFS)" url="http://openscales.org/geoserver/wfs" typename="topp:states" projection="EPSG:4326" version="1.0.0" style="{Style.getDefaultSurfaceStyle()}"/>	</os:Map>	<!--地图控制栏-->	<os:PanZoom map="{map}"				x="{fxmap.x+10}"				y="{fxmap.y+10}"/>		<fx:Script>		<![CDATA[			import org.openscales.core.Map;			import org.openscales.core.feature.PointFeature;			import org.openscales.core.layer.FeatureLayer;			import org.openscales.core.style.Style;			import org.openscales.geometry.Point;			import org.openscales.proj4as.ProjProjection;			import org.openscales.core.feature.CustomMarker;			import org.openscales.geometry.basetypes.Location;						[Bindable] private var map:Map = null;			private function initMap():void {				map = fxmap.map;				/**				 *添加标注 				 */				//创建一个功能层				var markers:FeatureLayer = new FeatureLayer("NameOfYourLayerWithMarkers");				//定义使用层的投影				markers.projection = new ProjProjection("EPSG:4326");				//地图标注显示的分辨率				markers.generateResolutions(19);				//定义一个默认样式				markers.style = Style.getDefaultPointStyle();								//add the first marker				//创建一个正确的坐标点 (需要与层的投影相同)				var marker:PointFeature = PointFeature.createPointFeature(new Location(-114.85680,45.75336));				markers.addFeature(marker);								//add a second marker				marker = PointFeature.createPointFeature(new Location(-94.85780,45.75336));				markers.addFeature(marker);								//add marker with different symbol, writing url address				markers.addFeature(CustomMarker.					createUrlBasedMarker("http://earth.google.com/intl/en_uk/outreach/images/add_placemark.png",						new Location(-101.85580,45.75336)));								//add the layer				map.addLayer(markers);			}		]]>	</fx:Script>	</s:Application>