ESRI ArcGIS Javascript API RelationshipQuery class

ESRI ArcGIS Javascript API RelationshipQuery class

本文关键字:RelationshipQuery class API Javascript ArcGIS ESRI      更新时间:2023-09-26

我在使用 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 文档有这方面的示例

相关文章:
  • 没有找到相关文章