ESRI ArcGIS Javascript API RelationshipQuery клас

Имам проблем с класа RelationshipQuery на ESRI ArcGIS Javascript API.

Опитвам се да взема поле(я) от различен ГИС слой (в този случай слой 1) в моята ГИС услуга, използвайки класа RelationshipQuery. С други думи, искам да вземам записи със същото поле SCTM в слой 1 като полето SCTM в обектаssessorLayer FeatureLayer за щракната точка, така че да мога да попълня цялата информация в ЕДИН изскачащ прозорец.

Това е моят кодов сегмент относно класа RelationshipQuery

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 */

person Town of Brookhaven    schedule 19.01.2015    source източник


Отговори (1)


Трябва да зададете отгоре objectid за заявката за връзка, така че в манипулатора наssessorLayer.on("click", function(evt) можете да добавите

relatedQuery.objectIds = [evt.features[0].attributes.OBJECTID];

Друга възможност е да използвате синтаксиса на свързаните с изскачащи шаблони полета, така че изскачащият прозорец автоматично да отправя заявки към свързаната таблица за функцията и да се попълва съответно. В документацията за JS API има примери за това

person Dave Timmins    schedule 20.04.2015