ArcGIS.Server.9.3和ArcGIS API for Flex实现GraphicsLayer上画
发布时间:2020-12-15 04:12:37 所属栏目:百科 来源:网络整理
导读:目的: 1.ArcGIS API for Flex 实现GraphicsLayer上画点、线、面 。 准备工作: 1.这次地图数据就用Esri提供的http://server.arcgisonline.com/ArcGIS/rest/services/NPS_Physical_World_2D/MapServer。 完成后的效果图: 开始: 1.启动Flex Builder3新建工
目的:
1.ArcGIS API for Flex实现GraphicsLayer上画点、线、面。 准备工作: 1.这次地图数据就用Esri提供的http://server.arcgisonline.com/ArcGIS/rest/services/NPS_Physical_World_2D/MapServer。 完成后的效果图: 开始: 1.启动Flex Builder3新建工程以及引入ArcGIS API for Flex library的开发包。 2.新建DrawTool.mxml页面,然后在页面上添加esri:Map控件设置esri:ArcGISTiledMapServiceLayer等。 3.和上一篇一样仍旧用mx:ToggleButtonBar来实现功能按钮,mx:ToggleButtonBar需要包含6个按钮分别实现6种不一样的操作,具体代码如下:
?1
4.上面的代码中icon对应的图标定义在mx:Script中如下:
?2 //
图标图片
5.现在要实现在地图上画点、线等就需要esri:GraphicsLayer 的功能,实际上点、线、面都是画在
GraphicsLayer的所以需要在Map控件中添加:assets/point2.gif ?point2:Class;? assets/polyline.gif ?polyline:Class;? 15 assets/polyline3.gif 16 ?polyline3:Class;? 17 18 19 assets/polyline2.gif 20 ?polyline2:Class;? 21 22 23 assets/polygon.gif 24 ?polygon:Class;? 25 26 27 assets/polygon2.gif 28 ?polygon2:Class;? 29 30 31 assets/polygon3.gif 32 ?polygon3:Class;?
1
6.要进行绘制功能esri已经提供了esri:Draw这个控件能很方便的实现基本图形的绘制,使用代码如下:
4 esri:Draw?
="drawToolbar"
?map
="{myMap}"
?graphicsLayer
="{myGraphicsLayer}"
/>
7.
esri:Draw有2个属性一个是要进行画图操作的地图控件,一个是画图的容器
GraphicsLayer?。
8.接下来定义一下画出来的点、线、面的显示样式,代码如下: esri:SimpleLineSymbol?
="sls"
?style
="solid"
?color
="0xFF0000"
?width
="2"
?alpha
="1"
esri:SimpleMarkerSymbol?
="sms"
="square"
?size
="10"
esri:SimpleFillSymbol?
="sfs"
="0.5"
/>
9.上面的sls为线的显示样式;sms为点的显示样式;sfs为面的显示样式,关于样式的定义可以查询一下帮助了有很多的样式等可以实现。
10.最后就是编写功能代码在上面的ToggleButtonBar控件中已经给它添加了一个itemClick="itemClickHandler(event)",这里就是编写 itemClickHandler(event)这个方法的代码: import?mx.events.ItemClickEvent; 11.很简单就完成了这些功能可以运行查看效果。
?4 ?5 ?6设置线样式?7????????????????drawToolbar.lineSymbolsls; ?8设置面样式?9????????????????drawToolbar.fillSymbolsfs; 10更加按钮的index值设置不同的绘制操作11????????????????switch(event.index) 12 14 16 17 212223224 262728329 313233434 363738539 414243644 464748749 515253 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |