首页 > 代码库 > ArcGIS API for Javascript 使用query查询以某个点为半径的圆内的要素出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误

ArcGIS API for Javascript 使用query查询以某个点为半径的圆内的要素出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误

当使用Query查询时,会用如下配置

 var queryTask = new esri.tasks.QueryTask(applicationModelOneSearchPOIURL);
            var query = new esri.tasks.Query();
            query.geometry = geometry;
            query.outSpatialReference = map.spatialReference;
            query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_INTERSECTS;
            query.returnGeometry = true;
            queryTask.execute(query, ApplicationModelOneGetSearchData, ErrorCallBack);

一般使用框选的时候对query.geometry,我们一般会赋予一个Extent变量,但是当我们需要用一个比如圆这种多边形的的Polygon去查询时,就会出现esri.config.defaults.io.proxyUrl 尚未进行设置”错误

因为多边形(含有的point多)导致的web service的url的参数个数大于2048个,而我们这里采用的是get方式(最大的字符数为2048)不是post方式。所以我们需要一个proxy page做代理,具体参考http://blog.csdn.net/lz576825608/article/details/7989391

就是在在查询前加一句esri.config.defaults.io.proxyUrl = "proxy.ashx";然后去网上下载相关的文件,在proxy.ashx和proxy.config中添加相应的配置代码就行了。在proxy.config中配置代码为添加    <serverUrl url="http://myserver/ArcGIS/rest/services/POI/Shoping/MapServer/0"
  matchAll="true"
  token=""></serverUrl>


ArcGIS API for Javascript 使用query查询以某个点为半径的圆内的要素出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误