ESRI ArcGIS Javascript API RelationshipQuery class
ESRI ArcGIS Javascript API RelationshipQuery class
我在使用 ESRI ArcGIS Javascript API RelationsQuery 类时遇到问题。
我正在尝试使用 RelationsQuery 类从 GIS 服务中的其他 GIS 图层(在本例中为图层 1)中获取字段。换句话说,我希望在图层 1 中抓取与所单击点的评估器图层要素图层对象中的 SCTM 字段具有相同 SCTM 字段的记录,以便我可以将所有信息填充到一个弹出窗口中。
这是我关于关系查询类的代码段
var title, content, graphicAttributes;
var relatedQuery = new RelationshipQuery();
relatedQuery.relationshipId = 1;
relatedQuery.outFields = ["*"];
assessorLayer.on("click", function(evt)
{ /* start assessorLayer.on click event */
graphicAttributes = evt.graphic.attributes;
title = "Assessor";
content = "<b>Name: </b>" + graphicAttributes.OWNER_NAME + graphicAttributes.OWNER_NAME2
+ "<br><b>Dimensions: </b>" + graphicAttributes.DIMENSIONS
+ "<br><b>Garbage District: </b>" + graphicAttributes.CBA;
relatedQuery.definitionExpression = ("SCTM = " + graphicAttributes.SCTM);
assessorLayer.queryRelatedFeatures(relatedQuery, function(relatedRecords)
{ /* start assessorLayer.queryRelatedFeatures function */
var status = relatedRecords[graphicAttributes.STATUS];
content = content + "<br><hr><br> Status: " + status;
map.infoWindow.setTitle(title);
map.infoWindow.setContent(content);
map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));*/
}); /* End assessorLayer.queryRelatedFeatures function */
}); /* End assessorLayer.on click event */
你需要为关系查询设置对象 id,所以在 assessmentorLayer.on("click", function(evt) 处理程序中你可以添加
relatedQuery.objectIds = [evt.features[0].attributes.OBJECTID];
另一种选择是使用弹出窗口模板相关字段语法,以便弹出窗口自动查询相关表以获取要素并相应地填充自身。JS API 文档有这方面的示例
相关文章:
- 没有找到相关文章