我正在使用带角度的ArcGIS JS API 4.0。在弹出窗口中,我添加了自定义按钮更多详细信息,单击该按钮我想在地图上显示图钉。我没有找到很多在线示例来实现这一点,任何人都可以帮忙吗?
答案 0 :(得分:0)
如果我理解正确,您的问题是在操作方法中获取点击位置。
如果是这样,您可以从view.popup.location获取位置。这是一个点几何。通过它,您可以向图层或地图添加新图形。我没有和AngularJS合作过。所以无法为您提供样品。但是,如果有位置详细信息,则应该很容易找到要添加图形的示例。
编辑: 这个样本更合适。 https://developers.arcgis.com/javascript/latest/sample-code/get-started-graphics/index.html
答案 1 :(得分:0)
感谢您的快速回复。你的答案确实有帮助。我仍然发现存储弹出位置非常困难,然后在单击弹出窗口上的自定义按钮时显示引脚。如果你知道的话请告诉我。但是,我已经实现了我的解决方案,只要点击地图上的功能就会显示引脚。这是代码。
self.mapView.on("click", function (event) {
self.mapView.graphics.removeAll();
// I added this line to make sure the previous pin is removed if the new
//feature is clicked. If there is a better way to handle it, let me know.
// Create a symbol for drawing the point
var markerSymbol = new SimpleMarkerSymbol({
color: [226, 119, 40],
outline: { // autocasts as new SimpleLineSymbol()
color: [255, 255, 255],
width: 2
}
});
// Create a graphic and add the geometry and symbol to it
var pointGraphic = new Graphic({
geometry: event.mapPoint,
symbol: markerSymbol
});
self.mapView.graphics.addMany([pointGraphic]);
});
答案 2 :(得分:0)
您可以回复弹出窗口中的trigger-action
,然后使用已提及的view.popup.location
view.popup.on("trigger-action", function(evt){
if(evt.action.id === "more-details"){
// add graphic at view.popup.location
}
});