我们在开发中常常需要用搜索框去搜索地图上的某个数据,然后在地图上显示出来。这个时候我们要用到esri.dijit.Search()。在设置里面的sources的时候,需要注意一点:必须要使用在线的featurelayer。如:
虽然sources也可以用本地的设置(用featureCollectionObject设置),但是这样设置之后就不能被查询到,这一点官方文档里面写的很清楚了。网址:https://developers.arcgis.com/javascript/3/jsapi/featurelayer-amd.html#featurelayer2
所以如果数据是本地的,就需要先上传到arcgisonline(http://www.arcgisonline.cn/)上面,然后将数据发布上去,然后引用在线地址,赋值给featurelayer。