单击弹出窗口上的自定义按钮后,在地图上显示图钉

时间:2016-05-25 16:17:29

标签: javascript angularjs arcgis esri arcgis-js-api

我正在使用带角度的ArcGIS JS API 4.0。在弹出窗口中,我添加了自定义按钮更多详细信息,单击该按钮我想在地图上显示图钉。我没有找到很多在线示例来实现这一点,任何人都可以帮忙吗?

3 个答案:

答案 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
  }
});