<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Delete some scene image in Java Maps SDK Questions</title>
    <link>https://community.esri.com/t5/java-maps-sdk-questions/delete-some-scene-image/m-p/1115948#M2510</link>
    <description>&lt;P&gt;Im my case i used delete button on the interface&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;boolean &lt;/SPAN&gt;&lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;= &lt;SPAN&gt;false;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;@FXML&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;private void &lt;/SPAN&gt;&lt;SPAN&gt;DeleteElementbyClick&lt;/SPAN&gt;()&lt;BR /&gt;{&lt;BR /&gt;    &lt;SPAN&gt;if&lt;/SPAN&gt;(&lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;==&lt;SPAN&gt;true&lt;/SPAN&gt;)&lt;BR /&gt;    {&lt;BR /&gt;        &lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;= &lt;SPAN&gt;false;&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;    &lt;SPAN&gt;else &lt;/SPAN&gt;{&lt;BR /&gt;        &lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;= &lt;SPAN&gt;true;&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;PRE&gt;//And i used the mouse handler for deleting clicked object from the scene&lt;BR /&gt;sceneView.setInteractionListener(new SceneView.DefaultInteractionListener(sceneView)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;public void onMousePressed(javafx.scene.input.MouseEvent e)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;if(e.getButton() == MouseButton.PRIMARY) {&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;if(isDeleteElement ==true)&lt;BR /&gt;{&lt;BR /&gt;javafx.geometry.Point2D screenPoint = new javafx.geometry.Point2D(Math.round(e.getX()),&lt;BR /&gt;Math.round(e.getY()));&lt;BR /&gt;com.esri.arcgisruntime.geometry.Point surfacePoint = sceneView.screenToBaseSurface(screenPoint);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// identify graphics on the graphics overlay&lt;BR /&gt;identifyGraphics = sceneView.identifyGraphicsOverlayAsync(graphicsOverlay, screenPoint, 10, false);&lt;BR /&gt;identifyGraphics.addDoneListener(() -&amp;gt; {&lt;BR /&gt;&lt;BR /&gt;try {&lt;BR /&gt;// get the list of graphics returned by identify&lt;BR /&gt;IdentifyGraphicsOverlayResult result = identifyGraphics.get();&lt;BR /&gt;List&amp;lt;Graphic&amp;gt; graphics = result.getGraphics();&lt;BR /&gt;&lt;BR /&gt;if (!graphics.isEmpty()) {&lt;BR /&gt;&lt;BR /&gt;for(int i = 0; i&amp;lt;graphics.size(); i++) {&lt;BR /&gt;&lt;BR /&gt;if(myGraphics.contains(graphics.get(i))) {&lt;BR /&gt;for (int j = 0; j &amp;lt; myGraphics.size(); j++)&lt;BR /&gt;graphicsOverlay.getGraphics().remove(myGraphics.get(j));&lt;BR /&gt;myGraphics.clear();&lt;BR /&gt;}&lt;BR /&gt;else {&lt;BR /&gt;graphicsOverlay.getGraphics().remove(graphics.get(i));//just delete a part of the complex graphic object you clicked on by mouse&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;catch (Exception ex) {&lt;BR /&gt;ex.printStackTrace();&lt;BR /&gt;}&lt;BR /&gt;});&lt;BR /&gt;} &lt;BR /&gt;}&lt;BR /&gt;else {&lt;BR /&gt;// let the default listener you've overridden deal with other events&lt;BR /&gt;super.onMousePressed(e);&lt;BR /&gt;}&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;myGraphic is an ArrayList&amp;lt;Graphic&amp;gt; that contains all graphic elements of some graphical object you want to delete(for example trapezium&amp;nbsp;that consists of 4 lines).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 11 Nov 2021 07:43:54 GMT</pubDate>
    <dc:creator>VanyaIvanov</dc:creator>
    <dc:date>2021-11-11T07:43:54Z</dc:date>
    <item>
      <title>Delete some scene image</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/delete-some-scene-image/m-p/1093512#M2438</link>
      <description>&lt;P&gt;I want to delete any scene image by clicking on it or nearby. How can i do it?&lt;/P&gt;&lt;P&gt;For example i have a method for adding an image to the Scene&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;public void &lt;/SPAN&gt;&lt;SPAN&gt;AddImage&lt;/SPAN&gt;(String imgPath&lt;SPAN&gt;, double &lt;/SPAN&gt;longitude&lt;SPAN&gt;, double &lt;/SPAN&gt;latitude) {&lt;BR /&gt;    GraphicsOverlay graphicsOverlay = &lt;SPAN&gt;new &lt;/SPAN&gt;GraphicsOverlay()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;sceneView&lt;/SPAN&gt;.getGraphicsOverlays().add(graphicsOverlay)&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    PictureMarkerSymbol markerSymbol = &lt;SPAN&gt;new &lt;/SPAN&gt;PictureMarkerSymbol(imgPath)&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    markerSymbol.setHeight(&lt;SPAN&gt;20&lt;/SPAN&gt;)&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    markerSymbol.setWidth(&lt;SPAN&gt;20&lt;/SPAN&gt;)&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    markerSymbol.loadAsync()&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    markerSymbol.addDoneLoadingListener(() -&amp;gt; {&lt;BR /&gt;        &lt;SPAN&gt;if &lt;/SPAN&gt;(&lt;SPAN&gt;markerSymbol&lt;/SPAN&gt;.getLoadStatus() == com.esri.arcgisruntime.loadable.LoadStatus.&lt;SPAN&gt;LOADED&lt;/SPAN&gt;) {&lt;BR /&gt;            com.esri.arcgisruntime.geometry.Point symbolPoint = &lt;SPAN&gt;new &lt;/SPAN&gt;com.esri.arcgisruntime.geometry.Point(&lt;SPAN&gt;longitude&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;latitude&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;SpatialReferences.&lt;SPAN&gt;getWgs84&lt;/SPAN&gt;())&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            Graphic symbolGraphic = &lt;SPAN&gt;new &lt;/SPAN&gt;Graphic(symbolPoint&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;markerSymbol&lt;/SPAN&gt;)&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;graphicsOverlay&lt;/SPAN&gt;.getGraphics().add(symbolGraphic)&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;sceneView&lt;/SPAN&gt;.getGraphicsOverlays().add(&lt;SPAN&gt;graphicsOverlay&lt;/SPAN&gt;)&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        } &lt;SPAN&gt;else &lt;/SPAN&gt;{&lt;BR /&gt;            System.&lt;SPAN&gt;out&lt;/SPAN&gt;.println(&lt;SPAN&gt;"Failed to load: " &lt;/SPAN&gt;+ &lt;SPAN&gt;markerSymbol&lt;/SPAN&gt;.getLoadError().getCause())&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;        }&lt;BR /&gt;    })&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;}&lt;/PRE&gt;&lt;P&gt;Also i want to have a method to delete image from the Scene by clicking button Delete and clicking on that image icon on the Scene after that.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;public void &lt;/SPAN&gt;&lt;SPAN&gt;DeleteBtn_Click&lt;/SPAN&gt;(javafx.event.ActionEvent actionEvent) {&lt;BR /&gt;    &lt;SPAN&gt;sceneView&lt;/SPAN&gt;.setInteractionListener(&lt;SPAN&gt;new &lt;/SPAN&gt;SceneView.DefaultInteractionListener(&lt;SPAN&gt;sceneView&lt;/SPAN&gt;) {&lt;BR /&gt;        &lt;SPAN&gt;public void &lt;/SPAN&gt;&lt;SPAN&gt;onMousePressed&lt;/SPAN&gt;(javafx.scene.input.MouseEvent e) {&lt;BR /&gt;            javafx.geometry.Point2D screenPoint = &lt;SPAN&gt;new &lt;/SPAN&gt;javafx.geometry.Point2D(Math.&lt;SPAN&gt;round&lt;/SPAN&gt;(e.getX())&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    Math.&lt;SPAN&gt;round&lt;/SPAN&gt;(e.getY()))&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;            DeleteImage(screenPoint)&lt;SPAN&gt;;///so i need a method that get screenPoint and deletes an image near the screenPoint coordinates&lt;BR /&gt;&lt;/SPAN&gt;        }&lt;BR /&gt;    })&lt;SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;}&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;So i need a method that gets&amp;nbsp;&lt;/SPAN&gt;javafx.geometry.Point2D point&amp;nbsp;&lt;SPAN&gt;and deletes an image located near the coordinates of this point. I didnt find any java arcgis api functions suitable for this.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV class="gtx-trans-icon"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="gtx-trans-icon"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 03 Sep 2021 08:41:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/delete-some-scene-image/m-p/1093512#M2438</guid>
      <dc:creator>VanyaIvanov</dc:creator>
      <dc:date>2021-09-03T08:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: Delete some scene image</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/delete-some-scene-image/m-p/1115948#M2510</link>
      <description>&lt;P&gt;Im my case i used delete button on the interface&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;boolean &lt;/SPAN&gt;&lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;= &lt;SPAN&gt;false;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;@FXML&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;private void &lt;/SPAN&gt;&lt;SPAN&gt;DeleteElementbyClick&lt;/SPAN&gt;()&lt;BR /&gt;{&lt;BR /&gt;    &lt;SPAN&gt;if&lt;/SPAN&gt;(&lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;==&lt;SPAN&gt;true&lt;/SPAN&gt;)&lt;BR /&gt;    {&lt;BR /&gt;        &lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;= &lt;SPAN&gt;false;&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;    &lt;SPAN&gt;else &lt;/SPAN&gt;{&lt;BR /&gt;        &lt;SPAN&gt;isDeleteElement &lt;/SPAN&gt;= &lt;SPAN&gt;true;&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;PRE&gt;//And i used the mouse handler for deleting clicked object from the scene&lt;BR /&gt;sceneView.setInteractionListener(new SceneView.DefaultInteractionListener(sceneView)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;public void onMousePressed(javafx.scene.input.MouseEvent e)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;if(e.getButton() == MouseButton.PRIMARY) {&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;if(isDeleteElement ==true)&lt;BR /&gt;{&lt;BR /&gt;javafx.geometry.Point2D screenPoint = new javafx.geometry.Point2D(Math.round(e.getX()),&lt;BR /&gt;Math.round(e.getY()));&lt;BR /&gt;com.esri.arcgisruntime.geometry.Point surfacePoint = sceneView.screenToBaseSurface(screenPoint);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// identify graphics on the graphics overlay&lt;BR /&gt;identifyGraphics = sceneView.identifyGraphicsOverlayAsync(graphicsOverlay, screenPoint, 10, false);&lt;BR /&gt;identifyGraphics.addDoneListener(() -&amp;gt; {&lt;BR /&gt;&lt;BR /&gt;try {&lt;BR /&gt;// get the list of graphics returned by identify&lt;BR /&gt;IdentifyGraphicsOverlayResult result = identifyGraphics.get();&lt;BR /&gt;List&amp;lt;Graphic&amp;gt; graphics = result.getGraphics();&lt;BR /&gt;&lt;BR /&gt;if (!graphics.isEmpty()) {&lt;BR /&gt;&lt;BR /&gt;for(int i = 0; i&amp;lt;graphics.size(); i++) {&lt;BR /&gt;&lt;BR /&gt;if(myGraphics.contains(graphics.get(i))) {&lt;BR /&gt;for (int j = 0; j &amp;lt; myGraphics.size(); j++)&lt;BR /&gt;graphicsOverlay.getGraphics().remove(myGraphics.get(j));&lt;BR /&gt;myGraphics.clear();&lt;BR /&gt;}&lt;BR /&gt;else {&lt;BR /&gt;graphicsOverlay.getGraphics().remove(graphics.get(i));//just delete a part of the complex graphic object you clicked on by mouse&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;catch (Exception ex) {&lt;BR /&gt;ex.printStackTrace();&lt;BR /&gt;}&lt;BR /&gt;});&lt;BR /&gt;} &lt;BR /&gt;}&lt;BR /&gt;else {&lt;BR /&gt;// let the default listener you've overridden deal with other events&lt;BR /&gt;super.onMousePressed(e);&lt;BR /&gt;}&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;myGraphic is an ArrayList&amp;lt;Graphic&amp;gt; that contains all graphic elements of some graphical object you want to delete(for example trapezium&amp;nbsp;that consists of 4 lines).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Nov 2021 07:43:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/delete-some-scene-image/m-p/1115948#M2510</guid>
      <dc:creator>VanyaIvanov</dc:creator>
      <dc:date>2021-11-11T07:43:54Z</dc:date>
    </item>
  </channel>
</rss>

