I got it...photoInfo.data = arrayUtils.map(obj, function (p) { photocnt += 1; var rec = p.split(";"); var latlng = new Point(parseFloat(rec[2]), parseFloat(rec[3]), wgs); var webMercator = webMercatorUtils.geographicToWebMercator(latlng); var attributes = { "ID": rec[0], "MaintDate": rec[1], "FacilityType": rec[4] }; return { "x": webMercator.x, "y": webMercator.y, "attributes": attributes }; }); // popupTemplate to work with attributes specific to this dataset var popupTemplate = PopupTemplate({ "title": "", "fieldInfos": [{ "fieldName": "ID", visible: true }, { "fieldName": "MaintDate", "label": "Date", visible: true }, { "fieldName": "FacilityType", "label": "Facility", visible: true }], "mediaInfos": [{ "title": "", "caption": "", "type": "image", "value": { "sourceURL": "SWUGetImageHandler.ashx?maintid=" + '{ID}' } }] });