Geocoder组件提供了一种地理位置的快速查询,可以通过添加一个查询输入框来通过输入地址来查询显示地图上的地理位置。相对于平移和绽放地图,使用Geocoder能够更加快速到将地图显示移动到指定的位置区域。这个功能需要用到locator service(定位服务)。
前提条件:
* Adobe Flash Builder 4.5.1及以上版本
* 使用到的ArcGIS API for Flex 是3.2及以上版本
1 在FB中新建工程,添加ArcGIS API 并引用esri命名空间
2 添加代码,添加一个底图:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:esri="http://www.esri.com/2008/ags"> <esri:Map id="map"> <esri:extent> <esri:WebMercatorExtent xmin="-20119163" ymin="1160734" xmax="-1333999" ymax="10416341"/> </esri:extent> <esri:ArcGISTiledMapServiceLayer/> </esri:Map> </s:Application>
注:本示例用到的底图是online的瓦片服务http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer
3 接下来,添加Geocoder组件。
注:如果不设置Geocoder的URL,则会默认指向ArcGIS Online World Geocoding Service。这个URL可以设置为任意自定义的地理编码服务,或者是包含服务的图层 。如果 使用自己的地理编码服务,则需要进行URL的配置。
... <esri:ArcGISTiledMapServiceLayer/> </esri:Map> <esri:Geocoder width="300" height="30" top="20" horizontalCenter="0" map="{map}"/> </s:Application>
4 最后,保存运行程序
5 输入一个位置和地址进行查询
如下图所示:
结果截图
使用Geocoder组件进行地理位置查询并不需要编写大量代码即可实现。这个组件具有大量功能。记住以下步骤即可。
* 添加地图底图
* 添加Geocoder组件配置URL