请问:如果我想实现对通过动态图层技术添加的图层进行查询,需要用哪个类啊?还请大佬指点

能够使用findtask,querytask,identifytask吗?我尝试着使用了这些类,但是一直报错,是这个url的问题?还是?
已邀请:

谢军

赞同来自: 杨亚仑

find和indentify都支持对dynamic layers进行查询

杨亚仑

赞同来自:

你好,请问我可以这么理解吗。
首先动态图层是通过featureLayer来获取的,
var getLayer = new FeatureLayer("http://192.168.220.132:6080/ar ... ot%3B, { mode: FeatureLayer.MODE_ONDEMAND, outFields: ["*"], source: layerSource });
现在如果想要想查询,我可以通过两种方法。
1.我首先可以通过featureLayer的query来进行属性查询和几何查询。(这种方式我已掌握)
2.我也可以通过FindTask进行属性查询和IdentifyTask进行几何查询,如果我现在用identifyTask进行几何查询,那么现在的问题是这个var identifyTask=new IdentifyTask(url)的url是
"http://192.168.220.132:6080/ar ... ot%3B还是"http://192.168.220.132:6080/ar ... ot%3B, { mode: FeatureLayer.MODE_ONDEMAND, outFields: ["*"], source: layerSource }。
如果我使用后者这个url  报错为Invalid URL。
现在给我整的有点不太明白这个identifyTask进行查询的原理了。它对动态地图服务进行查询是通过url来new一个identifyTask,然后给IdentifyParameters设置参数,最后identifyTask.execute(params,showQueryResult)来得到查询的结果。
而它对动态图层是如何进行查询的呢?我现在还没有想明白这里面的原理与机制,您能帮我解释一下吗?非常感谢。
 

要回复问题请先登录注册