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.