好文档 - 专业文书写作范文服务资料分享网站

WebGIS经典例子 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

79

color=”0×000000″ alpha=”100″/>

80 81 82

83 84

85

86 87 88 89 90 91 92

93 94 95

96 97

98 99 100

101 102 103

104 105 106

107 108 109 110

111 112

113 114 115

116 117

5.上面的代码有点多了但是并不复杂了,整个代码就是定义一个id为ifs的esri:InfoSymbol,主要部分为TitleState和DetailState的2种视图状态的设置和鼠标移上去的rollOverHandler方法、鼠标移开的rollOutHandler方法、鼠标点击的clickHandler方法定义。 6.完成上面的工作后,接下来要做的就是在地图上显示MapTip了,这里就去部分的California的Cities的点图层数据了,在 2

var

queryTask

:

QueryTask

=

new

QueryTask(\ 4 var query : Query = new Query(); 5 //查询条件取OBJECTID大于600的; 6 query.where=\ 7 //返回Geometry

8 query.returnGeometry = true; 9 //设置返回字段 10

query.outFields

=

[\AGE_40_49\11 //进行查询

12 queryTask.execute(query, new AsyncResponder( onResult, onFault )); 13 //查询成功后执行方法

14 function onResult( featureSet : FeatureSet, token : Object = null ) : void 15

{

16 for each ( var myGraphic : Graphic in featureSet.features ) 17

{

18 //设置显示的symbol 19 myGraphic.symbol = ifs;

20 //添加到GraphicsLayer中进行显示 21 myGraphicsLayer.add( myGraphic ); 22 //属性数组

23 var object : ArrayCollection = new ArrayCollection 24 ([ 25

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄低于5岁\ALUE : myGraphic.attributes.AGE_UNDER5}, 26

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄5-17岁\ALUE : myGraphic.attributes.AGE_5_17}, 27

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄18-21岁\ALUE : myGraphic.attributes.AGE_18_21}, 28

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄22-29岁\ALUE : myGraphic.attributes.AGE_22_29}, 29

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄30-39岁\ALUE : myGraphic.attributes.AGE_30_39}, 30

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄40-49岁\ALUE : myGraphic.attributes.AGE_40_49}, 31

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄50-64岁\ALUE : myGraphic.attributes.AGE_50_64}, 32

{AREANAME : myGraphic.attributes.AREANAME,AGE : \

年龄65岁以上\ALUE : myGraphic.attributes.AGE_65_UP} 33 ]); 34 //设置属性

35 myGraphic.attributes = object; 36 } 37 }

38 //查询失败后执行方法

39 function onFault( info : Object, token : Object = null ) : void 40

{

41 Alert.show(info.toString()); 42 } 43 ]]> 44

7.这样就完成的功能的开发,这个例子的代码相对简单了主要的是esri:InfoSymbol的定义以及mx:PieChart控件的使用。

7.这样就完成的功能的开发,这个例子的代码相对简单了主要的是esri:InfoSymbol的定义以及mx:PieChart控件的使用。

(十)ArcGIS.Server.9.3和ArcGIS API for Flex的GeometryService和buffer分析

2009年09月11日 7:27 上午 | 分类:Flex

目的:

1.ArcGIS API for Flex用GeometryService实现点、线、面的buffer分析。 准备工作:

1.在ArcGIS.Server.9.3发布一个叫USA的Map Service。

2.在ArcGIS.Server.9.3发布一个叫Geometry的Geometry Service,默认设置就可以了。 完成后的效果图:

开始:

0.首先介绍一下Geometry Service,Geometry Service是给程序提供几何计算如 buffering, simplifying, calculating areas 、lengths, projecting等功能,Geometry Service可以用来代替

ArcObjects 或geoprocessing service等做的这些几何计算,它是ArcGIS Server 9.3提供的新功能,本篇就是用它来实现buffer的分析。

1.启动Flex Builder3新建工程以及引入1.0正式版的ArcGIS API for Flex library的开发包。 2.新建bufferTest.mxml页面,添加Map、ArcGISDynamicMapServiceLayer、GraphicsLayer等。具体代码如下: 1

verticalCenter=”16″ left=”10″>

2 3

url=”http://jh-53a435fbc0e8/ArcGIS/rest/services/USA/MapServer” /> 4 5 6

3. 然后在Map控件的右边在添加一个Grid用来显示buffer分析后的数据,代码如下: 1

borderThickness=”3″ left=”508″> 2

4.这里既然是用Geometry Service实现buffer的当然还需要添加esri:GeometryService控件,它的url属性就是上面发布的叫Geometry的Geometry Service的地址,代码如下: 1

id=”myGeometryService”

url=”http://jh-53a435fbc0e8/ArcGIS/rest/services/Geometry/GeometryServer”/>

5.这里采用在地图上画点、线、面然后根据画的几何图进行buffer,所以还需要ToggleButtonBar按钮组控件、Draw控件以及图形显示样式的定义,具体代码如下: 1 2

3

4 5 6

7 8 9 10 11 12

6.point、polyline、polygon的icon定义如下: 1

WebGIS经典例子 - 图文

798081
推荐度:
点击下载文档文档为doc格式
7z2fc143570wk4s3w2fp
领取福利

微信扫码领取福利

微信扫码分享