您好,iserver发布的wms服务进行GetFeatureInfo查询时,有个FEATURE_COUNT=number,该参数为要返回信息的要素的数量(默认为1)。
以(I, J)为中心点,根据操作中的请求参数 BBOX,Width 和 Height 确定初始查找范围半径,对指定的查询图层进行查找。如果查询返回结果小于用户指定的 number 值,将查找半径扩大一倍继续查找,如果查询结果数目满足用户要求返回的要素数目,返回结果,否则继续扩大半径。当查找半径达到初始搜索半径的8倍时,终止查询,返回查询结果,进入下一图层的查询。参数具体介绍参考帮助文档:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/API/WMS/WMS130/GetFeatureInfo/GetFeatureInfo_request.htm
所以当鼠标点击位置查询结果为空,小于返回信息的要素数量,即会扩大范围继续查找,最后就会返回最近的要素信息。您可以在前端进行鼠标点击位置判断,当点在数据范围外时不进行GetFeatureInfo请求,点在范围内时再进行GetFeatureInfo请求返回查询结果。