我正在使用ArcGIS JavaScript v3.17创建一个工具来执行空间查询,以找出与多边形图层相交的线要素数。该过程适用于1个多边形图层,但不适用于其他3个多边形图层(导致错误)。我得到的错误是:"语法错误:意外的令牌<"当查询运行时,它并没有告诉我什么是错的。请参阅下面的示例代码有没有其他人见过这个?任何建议或帮助将不胜感激。
function submit() {
$('#submit').on('click', function () {
query;
});
}
function query() {
var polys = map.getLayer('lyr1');
var lines = map.getLayer('lyr2');
var queryTask = new QueryTask(lines.url);
var query = new Query();
query.geometry = polys.graphics[0].geometry;
query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_INTERSECTS;
query.outFields = ['*'];
queryTask.on("complete", queryTaskExecuteCompleteHandler);
queryTask.on("error", queryTaskErrorHandler);
queryTask.execute(query);
}
function queryTaskExecuteCompleteHandler(queryResults) {
console.log("complete", queryResults.featureSet.features.length);
}
function queryTaskErrorHandler(queryError){
console.log("error", queryError.error);
}
答案 0 :(得分:1)
我已经通过不同的路线解决了我的问题,现在使用geometryEngine intersects过程来确定一条线是否与多边形相交。这涉及遍历每个线图的列表的for循环>运行将多边形特征与线图形几何比较的交叉过程>如果为true,则id被推送到数组>将使用该数组在线要素上获得总数和定义表达式。