當(dāng)前位置:
首頁 >
ArcGis For Flex 之 QueryTask地理坐标展现【原创】
發(fā)布時間:2025/7/14
38
豆豆
生活随笔
收集整理的這篇文章主要介紹了
ArcGis For Flex 之 QueryTask地理坐标展现【原创】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本功能仿照Google Map分類搜索做的,可以看Google效果:http://ditu.google.cn/maps?hl=zh-CN&tab=wl
?
現(xiàn)在說說從查詢到畫出標(biāo)注的具體經(jīng)過,貼代碼,注釋寫的也不多,有興趣深究的可以到官方API查詢
下面的代碼是查詢,并畫出標(biāo)注:
/**************************** 地標(biāo)-地理定位數(shù)字化展現(xiàn)***************************/ public function ReaderLandMark(landMarkSearchWhere:String):void {clearAllGraphicsLayers();queryUrl=sLandMarkUrl + "/0";query.where=landMarkSearchWhere;query.outFields=new Array('NID', 'CNAME', 'CTYPE', 'CPROVINCE', 'CCITIES', 'CCOUNTY', 'CROAD', 'CHOUSENUM', 'NLON', 'NLAT');queryTaskGsm.execute(query, new AsyncResponder(onResult, onFault));function onResult(featureSet:FeatureSet, token:Object=null):void{glLandMark.clear(); //清空圖層var displayFieldName:String=featureSet.displayFieldName;var count:int=1;var arrColl:ArrayCollection;var txtSysmbol:TextSymbol;var compSysmbol:CompositeSymbol;var tFormat:TextFormat=new TextFormat();tFormat.bold=false;tFormat.size=10;tFormat.font="Verdana";for each (var myGraphic:Graphic in featureSet.features){arrColl=new ArrayCollection();txtSysmbol=new TextSymbol(count.toString(), null, 0x070707);txtSysmbol.textFormat=tFormat;arrColl.addItem(new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 20, 0xFE776B));arrColl.addItem(txtSysmbol);compSysmbol=new CompositeSymbol();compSysmbol.symbols=arrColl;myGraphic.toolTip=myGraphic.attributes.CNAME;myGraphic.symbol=compSysmbol;glLandMark.add(myGraphic);count++;}}function onFault(info:Object, token:Object=null):void{Alert.show(info.toString(), "Query Problem");} }然后是datagrid的行單擊,實現(xiàn)標(biāo)注的高亮特效,還是比較炫的哦,代碼如下:
//datagrid 單擊protected function dgClick(e:MouseEvent):void{var itemR:DataGridItemRenderer=e.target as DataGridItemRenderer;if (!itemR){return;}var pt:MapPoint=new MapPoint(itemR.data.NLON, itemR.data.NLAT);if (!parentApplication.Map.extent.contains(pt)){parentApplication.Map.centerAt(pt);}var pictureMarker:PictureMarkerSymbol=new PictureMarkerSymbol("assets/flash/Red_glow.swf", 40, 40, -11, 10);var myGraphic:Graphic=new Graphic(pt, pictureMarker);myGraphic.name="ghTopicByLandMark";var removeGraphic:Graphic=parentApplication.glLandMark.getChildByName("ghTopicByLandMark");if (removeGraphic){parentApplication.glLandMark.remove(removeGraphic);}parentApplication.glLandMark.add(myGraphic);}OK,完成了。。。。。。。。。。。。有錯誤和有待優(yōu)化的地方請留言指正!
作者:董廣祥轉(zhuǎn)載請說明出處:http://www.cnblogs.com/myssh/archive/2010/06/01/1748983.html
轉(zhuǎn)載于:https://www.cnblogs.com/myssh/archive/2010/06/01/1748983.html
總結(jié)
以上是生活随笔為你收集整理的ArcGis For Flex 之 QueryTask地理坐标展现【原创】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.1.2监测当前打印机状态
- 下一篇: 调css支持firefox、IE6、IE