javascript - 如何触发Graphic的点击事件?

标签 javascript arcgis esri arcgis-js-api

我正在使用 Esri Javascript API 4.5

加载 map 时,我从外部源获取点坐标,然后使用 Graphic 类将其绘制在 map 上,并为该图形分配一个 PopupTemplate

案例

图形已成功绘制在 map 上。但是为了查看弹出模板,我需要单击图形。

问题

有什么方法可以在将图形添加到 map 时触发图形的点击事件,以便弹出模板自动显示?

代码

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?
});

最佳答案

你应该使用 view.popup.open并传递属性 locationfeatures:

view.popup.open({
    location: point,
    features: [graphic]
});

Example here .

关于javascript - 如何触发Graphic的点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162972/

相关文章:

javascript - 仅使用 JavaScript 对象数组创建小型可搜索数据库。没有 AJAX,没有 PHP

javascript - loadData() 返回空数组

gis - 这对于GIS可行吗?

javascript - 使用 ArcGIS javascript api 切换 kml

python - 使用 Esri CityEngine 功能外部代码

javascript - 测量面板位于 map 和网页的外侧

javascript - 使用 <form> 和 &lt;input&gt; 元素作为 JavaScript 代码的输入。这是最好的方法吗?

javascript - 如何在页面完全加载之前用 JS 设置正文背景颜色?

python - 当我在 mxd.save 后打开我的文档时,文本是相同的,即使它显示它在导出过程中已被替换

c# - 如何在 GMap.NET 输出之上或使用我的图形对象绘制 ESRI 形状