Hi All,
I have a point dataset which represents the x,y of where photos were taken. Each photo is a member of a route (as identified by an attribute column). When a particular photo is clicked, I would like all of the photos in that route to be selected and added to the resulting infoWindow so the user can scroll back and forth along the particular route.
I currently have an IdentifyTask setup on this layer and am wondering if it's easiest to just modify that in some way? Any hints would be much appreciated, I have no idea where to begin. My code for the identify is below, it's basically the same as in the ESRI sample.
identifyAssetsParams = new IdentifyParameters();
identifyAssetsParams.tolerance = 3;
identifyAssetsParams.returnGeometry = true;
identifyAssetsParams.layerOption = IdentifyParameters.LAYER_OPTION_VISIBLE;
identifyAssetsParams.width = mapObj.width;
identifyAssetsParams.height = mapObj.height;
identifyAssetsParams.geometry = event.mapPoint;
identifyAssetsParams.mapExtent = mapObj.extent;
identifyAssetsParams.layerIds = layerAssets.visibleLayers;
var assetsDeferred = identifyAssetsTask
.execute(identifyAssetsParams)
.addCallback(function (response) {
return arrayUtils.map(response, function (result) {
var feature = result.feature;
var layerName = result.layerName;
feature.attributes.layerName = layerName;
if (layerName === 'Primary Direction'){
var assetsTemplate = new InfoTemplate();
assetsTemplate.setTitle("Primary Direction");
feature.setInfoTemplate(assetsTemplate);
assetsTemplate.setContent("</br> ID: ${ID} </br> Route: ${ROUTE} \n\
</br><img src='${REL_PATH}'/>");
}
if (layerName === 'Opposite Direction'){
var assetsTemplate = new InfoTemplate();
assetsTemplate.setTitle("Opposite Direction");
feature.setInfoTemplate(assetsTemplate);
assetsTemplate.setContent("</br> ID: ${ID} </br> Route: ${ROUTE} \n\
</br><img src='${REL_PATH}'/>");
}
if (layerName === 'SeaView'){
var assetsTemplate = new InfoTemplate();
assetsTemplate.setTitle("SeaView");
feature.setInfoTemplate(assetsTemplate);
assetsTemplate.setContent("Series: ${Series} \n\
</br><img src='${REL_PATH}' width='200'/>");
}
else {
var generalTemplate = new InfoTemplate(layerName);
feature.setInfoTemplate(generalTemplate);
}
return feature;
});
});
mapObj.infoWindow.clearFeatures();
mapObj.infoWindow.setFeatures([assetsDeferred]);
mapObj.infoWindow.show(event.mapPoint);