地理定位FLEX实现.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地理定位FLEX实现

地理定位(Locator) 概述 地理定位(Locator)即地理编码(Geocode)又称地址匹配(address-matching), 是指建立地理位置坐标与给定地址一致性的过程。也是指在地图上找到并标明每 条地址所对应的位置。地理编码是 GIS 中比较重要的一个功能。 地理编码(GeoCode) 在ArcGIS API for Flex中使用地理编码和执行查询任务类似,首先使用esri:Locator标签定义一个 Locator 对象: esri:Locator id=locateTask url=/ArcGIS/rest/services/Locators/ESRI_Geocode_N A/GeocodeServer/ id 唯一标识 Locator,url指向提供 Locator服务的地址。 Locator定义之后,在界面上定义一组文本输入框和一个执行按钮来调用这个 Locator: mx:Panel title=Find an address top=5 horizontalCenter=0 mx:Form mx:FormItem label=Street mx:TextInput width=100% id=address text=380 New York St/ /mx:FormItem mx:FormItem label=City mx:TextInput width=100% id=city text=Redlands/ /mx:FormItem mx:FormItem label=Zip Code or postal code mx:TextInput width=100 id=zip text=92373/ /mx:FormItem mx:FormItem label=State/Province mx:TextInput width=100 id=state text=CA/ /mx:FormItem mx:FormItem label=Country mx:ComboBox id=country selectedIndex=1 mx:ArrayCollection mx:StringCanada/mx:String mx:StringUSA/mx:String /mx:ArrayCollection /mx:ComboBox /mx:FormItem mx:FormItem mx:Button label=Find Address click=doQuery()/ /mx:FormItem /mx:Form mx:Text id=myInfo width=100% color=0x00FF00 textAlign=center / /mx:Panel 文本输入框用来输入地址的详细信息,button用来执行查询的动作。 实现地理编码的功能: 首先,定义一个 Object 来存储地址的详细信息,包括 Address,City,State, Zip,Country 等信息。 然后,定义一个 Array 来存储输出字段的名称。 最后,把myAddress和myOutFields作为输入参数调用locateTask对象的 addressToLocations方法。具体代请参考下面的代码: private function doGeoCode() : void { var myAddress:Object = { Address: address.text, City: city.text,State: state.text, Zip: zip.text,Country: country.text}; var myOutFields:Array = [Loc_name]; locateTask.addressToLocations(myAddress, myOutFields, new AsyncResponder(onResult, onFault)); function onResult( candidates : Array, token : Object = null ) : void { if (candidates.length 0) { var addressCandidate : AddressCandidate = candidates[0]; var myGraphic : Graphic = new Graphic(); myGraphic.geometry = addressCandidate.location; myGraphic.symbol = mySymbol; myGraphic.toolTip = addressCandi

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档