Email and URL links in the carousel for point features display as 'undefined' in the My Government Services JavaScript template.
上次发布: August 10, 2016ArcGIS for Local Government
漏洞 ID 编号
BUG-000087527
已提交
May 8, 2015
上次修改时间
June 5, 2024
适用范围
ArcGIS for Local Government
找到的版本
10.3
状态
Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
The My Government Services (JS application) has been moved to mature support and is no longer being updated. Please use the updated My Government Services app which is using Web AppBuilder for ArcGIS, available here: http://solutions.arcgis.com/local-government/help/my-gov-services/
This issue does not exist in the newest version. Also, You will be able to configure the pop-up for phone numbers or anything. We are using the pop-up in ArcGIS Online, so it is much more flexible than the previous custom application.
解决办法
See the attached carousel.js file.
Lines 646 - 650 were commented out:
/*if (i == 0) {
tdData.innerHTML = feature[service.FieldNames[i].FieldName] + " (" + FormatDistance(distance, "miles)");
} else {
tdData.innerHTML = feature[service.FieldNames[i].FieldName];
}*/
and lines 654-694 were added:
if (i == 0) {
tdData.innerHTML = feature[service.FieldNames[i].FieldName] + " (" + FormatDistance(distance, "miles)");
} else if (service.FieldNames[i].Links) {
var tdLink = dojo.create("td");
tr.appendChild(tdLink);
var tableLink = dojo.create("table");
tableLink.cellSpacing = "0";
tableLink.cellPadding = "0";
tdLink.appendChild(tableLink);
var tbodyLink = dojo.create("tbody");
tableLink.appendChild(tbodyLink);
var trLink = dojo.create("tr");
tbodyLink.appendChild(trLink);
for (var m = 0; m < service.FieldNames[i].Links.length; m++) {
// Insert separator from previous cell at end of current row
if (m > 0) {
var span = trLink.insertCell(-1);
span.style.borderLeft = "1px solid white";
span.style.paddingRight = "5px";
}
// Create cell for link
var tdHref = dojo.create("td");
tdHref.style.paddingRight = "5px";
tdHref.style.cursor = "pointer";
tdHref.setAttribute("web", service.FieldNames[i].Links[m].FieldName);
tdHref.setAttribute("type", service.FieldNames[i].Links[m].DisplayText);
tdHref.style.textDecoration = "underline";
tdHref.onclick = function() {
if (this.getAttribute("type") == "Website") {
OpenWebSite(feature.AGENCYURL);
} else {
OpenServiceMail(feature.EMAIL);
}
};
trLink.appendChild(tdHref);
tdHref.innerHTML = service.FieldNames[i].Links[m].DisplayText;
}
} else {
tdData.innerHTML = feature[service.FieldNames[i].FieldName];
}
Run the application again. The website and email links works correctly.