【发布时间】:2018-06-18 04:19:25
【问题描述】:
我正在使用 Esri Javascript API 4.5
当地图加载时,我从外部源获取点坐标,然后使用 Graphic 类将其绘制在地图上,并将 PopupTemplate 分配给该图形。
案例
图形已成功绘制在地图上。但是为了查看弹出模板,我需要点击图形。
问题
有没有办法在图形添加到地图时触发图形的点击事件,以便弹出模板自动显示?
代码
require([
"esri/PopupTemplate",
"esri/Graphic",
.
.
.
.
"dojo/domReady!"
],
function (
PopupTemplate, Graphic, ....) {
var point = {
type: "point",
x: <some x>,
y: <some y>
};
var symbol = {
type: "picture-marker",
url: "/euf/assets/nl/images/red-pin.png",
width: "30px",
height: "30px"
};
var template = new PopupTemplate({
title: "New Title",
content: "New Content"
});
var graphic = new Graphic({
geometry: point,
symbol: symbol,
popupTemplate: template
});
view.graphics.add(graphic); // this works as I can see the marker on page
// now, how do I trigger its click event here?
});
【问题讨论】:
-
你不需要触发它,如果点是正确的,那么弹出模板会自动出现,这是图形的功能你在控制台中看到任何错误吗?
-
不,我不是。仅当我单击图形时才会出现弹出窗口。
-
换句话说,您想要以编程方式打开弹出窗口而不点击图形 - 对吗?
-
@andy 是的。这正是我所指的。
-
另外,如果你想使用你的模板,那么在打开弹出窗口之前
view.popup.content = template.content。位置相同,设置view.popup.location和经纬度值,以便在地图上精确定位此类弹出窗口。
标签: javascript arcgis esri arcgis-js-api