This is a javascript api app with custom content for the popupTemplate. A custom function is used to build the content. When the function is called, by default, the selected feature is passed in. In this case, it is a polygon.
Finding normal map service attributes is no problem. For these I'm able to use both of the following calls.
feature.graphic.attributes.GL // works fine
feature.graphic.getAttribute("GL")); // works fine
Problem: I'm trying to get the x,y of the centroid of the selected feature, in map units. It seems that everything having to do with geometry of this feature is undefined.
Using ArcGIS javascript api 4.13
My app is based on this esri sample
Thanks,
Bill
Here's my code that doesn't return x,y
let buildPopupContent; // fn used later to build popup content.
let popupTemplate = {
title: "Airport Tier: {Tier}",
content:
buildPopupContent
};
// When the feature is clicked, this function is called. The feature is passed into the function.
function buildPopupContent (feature) {
let poly = feature.graphic.geometry;
alert("x " + poly.centroid.x); // undefined
};
var centerPoint = feature.graphic.geometry.getExtent().getCenter(); // Unable to get property 'getExtent' of undefined or null reference
alert("x " + centerPoint.x);
};