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

WebGIS经典例子 - 图文

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

11 //不显示关闭按钮

12 myMap.infoWindow.closeButtonVisible = false; 13 }

9.最后就是编写鼠标移动上去的事件监听和鼠标移开的事件监听的2个事件方法: 1//鼠标移上去事件显示infoWindow

2 private function maouseOverHandler(event:MouseEvent):void 3

{

4 //获取当前鼠标移动上去的点对象 5 var graphic:Graphic=Graphic(event.target); 6 //转换成MapPoint

7 var mapPoint:MapPoint=MapPoint(graphic.geometry); 8 //设置cityInfo.mxml的AREANAME

9 m_content.AREANAME = graphic.attributes.AREANAME; 10 //设置cityInfo.mxml的CLASS

11 m_content.CLASS = graphic.attributes.CLASS; 12 //设置cityInfo.mxml的CAPITAL

13 m_content.CAPITAL = graphic.attributes.CAPITAL; 14 //设置cityInfo.mxml的ST

15 m_content.ST = graphic.attributes.ST; 16 //设置cityInfo.mxml的POP2000

17 m_content.POP2000 = graphic.attributes.POP2000; 18 //显示infoWindow

19 myMap.infoWindow.show(mapPoint); 20 } 21

22 //鼠标移开事件隐藏infoWindow

23 private function maouseOutHandler(event:MouseEvent):void 24

{

25 myMap.infoWindow.hide(); 26 }

10.完成所有的功能运行测试效果。

(九)ArcGIS.Server.9.3和ArcGIS API for Flex在MapTips显示饼图数据统计

1.ArcGIS API for Flex实现在MapTips中显示饼图进行数据统计展示,在本例子中可以点击城市的MapTip后显示详细人口年龄段的统计饼图的功能。 准备工作:

1.在ArcGIS.Server.9.3发布一个叫California的Map Service,并且把这个Service启动起来,这次需要一些数据用来进行图表显示了,California的数据比较齐全了所以本例采用这个数据。 2.

Esri

线

http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer 完成后的效果图:

开始:

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

xmax=”-114.589241057072″ ymax=”40.9473919319488″ /> verticalCenter=”0″ left=”10″>

3 4” /> 5

url=”http://jh-53a435fbc0e8/ArcGIS/rest/services/California/MapServer”> 6 7 8 1 9 10

11 12 13 14

3.上面的代码以ESRI_StreetMap_World_2D的ArcGISTiledMapServiceLayer为底图。在底图上只显示California的Cities的点图层,具体看ArcGISDynamicMapServiceLayer部分的设置。添加了一个GraphicsLayer用来显示MapTip了,同时设置了以California的范围为当前底图的Extent。

4.接下来需要用esri:InfoSymbol来实现mapTip,代码如下: 1 2 3 4

click=”clickHandler()”

rollOver=”rollOverHandler()”

backgroundColor=”0xEEEEEE” rollOut=”rollOutHandler()” >

5

6 .InfoCloseButton 7 { 8 9 10

disabledSkin: downSkin: overSkin:

Embed(source=”assets/skins.swf”,symbol=”Callout_closeButtonDisabledSkin”); Embed(source=”assets/skins.swf”,symbol=”Callout_closeButtonDownSkin”);

url=”http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

Embed(source=”assets/skins.swf”,symbol=”Callout_closeButtonOverSkin”); 11

upSkin:

Embed(source=”assets/skins.swf”,symbol=”Callout_closeButtonUpSkin”); 12 }

13 .InfoExpandButton 14 { 15 16 17 18

disabledSkin: downSkin: overSkin: upSkin:

Embed(source=”assets/skins.swf”,symbol=”Callout_expandButtonDisabledSkin”); Embed(source=”assets/skins.swf”,symbol=”Callout_expandButtonDownSkin”); Embed(source=”assets/skins.swf”,symbol=”Callout_expandButtonOverSkin”); Embed(source=”assets/skins.swf”,symbol=”Callout_expandButtonUpSkin”); 19 } 20 21 22

23 import mx.collections.ArrayCollection; 24 private function clickHandler():void 25 {

26 switch(currentState ) 27 {

28 case \

29 currentState = \ 30 break; 31 case \

32 currentState = \ 33 break; 34 case \

35 currentState = \ 36 break; 37 } 38 }

39 private function rollOverHandler() : void 40 {

41 if(currentState == null || currentState == \ 42 {

43 currentState = \ 44 } 45 }

46 private function rollOutHandler() : void

47 {

48 if( currentState == \ 49 {

50 currentState = \ 51 } 52 } 53 ]]> 54 55

56

57 58

59 60 61 62

styleName=”InfoExpandButton” width=”18″ height=”18″ /> 63 64

65 66 67 68

69 70 71 72

styleName=”InfoCloseButton” width=”18″ height=”18″ /> 73

74

75

76

77

78

WebGIS经典例子 - 图文

11//不显示关闭按钮12myMap.infoWindow.closeButtonVisible=false;13}9.最后就是编写鼠标移动上去的事件监听和鼠标移开的事件监听的2个事件方法:1//鼠标移上去事件显示infoWindow2
推荐度:
点击下载文档文档为doc格式
7z2fc143570wk4s3w2fp
领取福利

微信扫码领取福利

微信扫码分享