arcgis api for flex 开发入门(七)Geometry service 的使用
上一篇 / 下一篇 2008-10-17 10:11:28 / 个人分类:mushup
arcgis api for flex 开发入门(七)Geometry service 的使用
;W|*zj%b@0Geometry service 顾名思义,就是提供针对几何层级的服务,比如说Project,
Simplify , Buffer,Areas And Lengths , Lengths 等
w7f1L9hx-~Vh0详细信息可以到下面的地址去看一下3sNews.Net——3S社区&资讯平台 ^'Yr0v0h8[%\
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/Geo
metryServer3sNews.Net——3S社区&资讯平台4jvWm
g!O)QRv
这个网址发布了上面5个Geometry service。3sNews.Net——3S社区&资讯平台3rh9u
d?p\
下面我们就来讲解如何在你的flex 地图中使用Geometry service,我们拿最常用
buffer来做例子。
3WZ`.gF0首先 定义一个GeometryService
^y:Mh|*q3M6R2u0<esri:GeometryService id="myGeometryService"
url="http://sampleserver2.arcgisonline.com/ArcGIS/rest/services/Geometr
y/GeometryServer"/>3sNews.Net——3S社区&资讯平台n:E?:T h
id 唯一标识了这个GeometryService,url指定了GeometryService的地址
"Jg(aSa0和identify工具类似,要进行buffer操作我们先创建一个需要做buffer的几何,
然后定义一个BufferParameters ,然后执行buffer操作,最后将buffer的结果绘
制到GraphicsLayer上。
z(YV6@+D0下面我们介绍一下BufferParameters参数的意义distances为buffer半径,
features 为需要做buffer的要素集合,unit为单位bufferSpatialReference为
buffer操作时的空间参照系。3sNews.Net——3S社区&资讯平台~G/fq/N7K7G KPY
设置完参数后,要添加buffer完成时间的EventListener,当buffer完成后我们就可以处理这个buffer的结果了,如下面AS3脚本
(m+\r-I/S~Lr0
k4A7y-O2[^ d%z
C1k!QI0var bufferParameters : BufferParameters = new BufferParameters();
bufferParameters.features = [point];
bufferParameters.distances = [3000];
bufferParameters.unit = BufferParameters.UNIT_METER;
bufferParameters.bufferSpatialReference = new SpatialReference( 02113);
myGeometryService.addEventListener
(GeometryServiceEvent.BUFFER_COMPLETE, bufferCompleteHandler);
myGeometryService.buffer( bufferParameters );
pTN.wL
Um2\ w*U0关键的一点,bufferParameters.features参数设置的features 一定要有空间参考系,不然buffer不成功。3sNews.Net——3S社区&资讯平台a],Z4g8o5jn
其余的绘制操作,将结果绘制到GraphicsLayer上的操作和上一讲基本相同,就不再讲了。
7`vj])R$w5M8U-K(z0下面看一下最后的效果
m:YdU2J d6yO"M0e0
)w#|g!G1hj_| G:X1}0Flash:demo3sNews.Net——3S社区&资讯平台.Y3l:i6T$K k
3sNews.Net——3S社区&资讯平台,NRz0s8S{J8S
代码:
<?xml version="1.0" encoding="utf-8"?>
;x6e)IvoG g
Y0<mx:Application
L6L3h/Go"O@8@0 xmlns:mx="http://www.adobe.com/2006/mxml"
o9J7Mv|o J/Sq8o/sm|3{0 xmlns:esri="http://www.esri.com/2008/ags"
f+]8[-sz)J]0 layout="absolute"3sNews.Net——3S社区&资讯平台Z"h-U;Q*l~
s}
>3sNews.Net——3S社区&资讯平台,}D8m+C'?Z-[,np
<mx:Script>3sNews.Net——3S社区&资讯平台 jm_ki
B
<![CDATA[3sNews.Net——3S社区&资讯平台8a&fPZ7yi*}
import com.esri.ags.Graphic;