【发布时间】:2022-01-15 15:23:33
【问题描述】:
我想在 arcgis esri 地图的弹出模板底部显示一个超链接。我添加了我尝试过的代码,但超链接未显示在弹出模板中。仅显示字段表。请你看看这段代码,如果我遗漏了什么,请告诉我。
.ts 文件
const popUpTemplate = new PopupTemplate({
title: "{name}",
content: [
{
type: "fields",
fieldInfos: [
{
fieldName: "PhysicianName",
label: "Physician Name"
},
{
fieldName: "Practice",
label: "Primary Practise",
},
]
},
new CustomContent({
outFields: ["*"],
creator: (graphic) => {
const a = document.createElement("a");
a.href = "https://www.youtube.com/";
a.target = "_blank";
a.innerText = graphic.attributes.PhysicianName;
return a;
}
})
],
outFields: ["*"]
});
const myLayer = new FeatureLayer({
source: physicianData.map((d,i)=>(
{
geometry: new Point({
longitude: d.Longitude,
latitude: d.Latitude
}),
attributes: {
ObjectID: i,
name : d.PhysicianName,
PhysicianName : d.PhysicianName,
Practice : d.Practice,
...d
}
}
)),
fields: [{
name: "ObjectID",
alias: "ObjectID",
type: "oid"
},
{
name: "name",
alias: "Physician : ",
type: "string"
},
{
name: "PhysicianName",
alias: "Physician Name",
type: "string"
},
{
name: "Practice",
alias: "Practice",
type: "string"
},
],
objectIdField: 'ObjectID',
geometryType: "point",
popupTemplate : popUpTemplate,
});
.html 文件
<div #mapViewNode></div>
【问题讨论】:
-
请创建一个stackblitz demo以便我们调试,这个问题也可能是因为CSS。请参阅:How to create a Minimal, Reproducible example。
-
嗨@VimalPatel。我发现了问题,它与 graphic.attributes 为空。谁能帮助解释为什么该值没有出现在图形对象中?
-
不调试它很难回答。请求您创建一个 stackblitz 演示以进行故障排除。
标签: javascript angular esri arcgis-js-api