<?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: Move and Remove Markers on Graphics Layer in ArcGIS Runtime SDK for iOS Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678366#M6031</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nick:&lt;/P&gt;&lt;P&gt;Yes - this answered my question.&amp;nbsp; Thanks for the help.&amp;nbsp; Haven't started to update Android version yet, but assume there is a similar approach to identify the marker by the attribute and update the lat/long?&lt;/P&gt;&lt;P&gt;Steve&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Dec 2019 17:48:27 GMT</pubDate>
    <dc:creator>SteveEllis1</dc:creator>
    <dc:date>2019-12-05T17:48:27Z</dc:date>
    <item>
      <title>Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678362#M6027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #242729; border: 0px; margin: 0px 0px 1em; padding: 0px;"&gt;I'm using the ArcGIS 100.6 iOS SDK and am populating the map with markers on a Graphics Overlay Layer whose locations are stored in a database common to all users of my application. Each marker is stored in a unique record and each record contains the Latitude &amp;amp; Longitude of the marker. When the App is launched it reads the location of all markers in the database and adds each one to the Graphics Overlay as shown below:&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/STRONG&gt;&lt;/SPAN&gt; areaMarker = &lt;SPAN style="color: #1c464a;"&gt;AGSPictureMarkerSymbol&lt;/SPAN&gt;(image: &lt;SPAN style="color: #3900a0;"&gt;UIImage&lt;/SPAN&gt;(named: &lt;SPAN style="color: #c41a16;"&gt;"CustomMarker"&lt;/SPAN&gt;)!)&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/STRONG&gt;&lt;/SPAN&gt; areaMarkerLocation = &lt;SPAN style="color: #326d74;"&gt;AGSPointMakeWGS84&lt;/SPAN&gt;(y ?? &lt;SPAN style="color: #1c00cf;"&gt;0.0&lt;/SPAN&gt;, x ?? &lt;SPAN style="color: #1c00cf;"&gt;0.0&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/STRONG&gt;&lt;/SPAN&gt; markerKey = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: areaMarkerLocation, symbol: areaMarker, attributes: [&lt;SPAN style="color: #c41a16;"&gt;"marker"&lt;/SPAN&gt;: markerKey])&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;overlay&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;add&lt;/SPAN&gt;(markerKey)&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P&gt;As shown above, each marker is assigned an attribute "marker:markerKey" that is the unique database record number (key) where the marker location information is stored and serves as the marker ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once the initial markers are added to the Overlay, the App "Listens" to the database for the following events:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;A new marker is added&lt;/LI&gt;&lt;LI&gt;An existing marker is moved to a new location&lt;/LI&gt;&lt;LI&gt;An existing marker is deleted&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When a marker is moved or deleted the database listener is notified and passed the record number (key) of the marker that was moved (or deleted). If the marker was moved, the record will then contain the new Latitude &amp;amp; Longitude information.&lt;/P&gt;&lt;P&gt;I have experimented with reading the graphics overlay and determined that it is a Collection contained in a NSMutable Array. I can read all attributes as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85098);"&gt; graphicsCollection = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85098);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;overlay&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85098);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85098);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;mutableArrayValue&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85098);"&gt;(forKey: &lt;/SPAN&gt;&lt;SPAN style="color: #c41a16;"&gt;"attributes"&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85098);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #6c36a9;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&lt;/SPAN&gt;(graphicsCollection)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result is:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;marker = "-KlRW2_rba1zBrDPpxSl";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;marker = "-Lu915xF3zQp4dIYnsP_";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I can do the same for "geometry" and get the array of AGSPoints:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/STRONG&gt;&lt;/SPAN&gt; graphicsCollection = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;overlay&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;mutableArrayValue&lt;/SPAN&gt;(forKey: &lt;SPAN style="color: #c41a16;"&gt;"geometry"&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="color: rgba(0, 0, 0, 0.85); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #6c36a9;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&lt;/SPAN&gt;(graphicsCollection)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The result is:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"AGSPoint: (-117.826127, 44.781139), sr: 4326",&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"AGSPoint: (-112.056906, 33.629829), sr: 4326"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been unable to determine how to get the "index" of the attribute array (e.g. marker "-KlRW2_rba1zBrDPpxSl" above should have an index of [0]) so I can then use that "index" to access the appropriate AGSPoint and update the Latitude &amp;amp; Longitude or remove the marker.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for the help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 Nov 2019 00:23:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678362#M6027</guid>
      <dc:creator>SteveEllis1</dc:creator>
      <dc:date>2019-11-23T00:23:07Z</dc:date>
    </item>
    <item>
      <title>Re: Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678363#M6028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Steve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a reason my &lt;A href="https://stackoverflow.com/a/59167060/1416253"&gt;answer over on StackOverflow&lt;/A&gt; won't work for you?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nick.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S.&amp;nbsp;Also, apologies for not seeing this earlier. My RSS feed only just pinged me about it!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Dec 2019 18:47:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678363#M6028</guid>
      <dc:creator>Nicholas-Furness</dc:creator>
      <dc:date>2019-12-04T18:47:20Z</dc:date>
    </item>
    <item>
      <title>Re: Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678364#M6029</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nick - Answer on StackOverflow was exactly what I was looking for.&amp;nbsp; Updated the code and it works fine. Posted there and in GIS forum on StackExchange as well.&lt;/P&gt;&lt;P&gt;Just for reference where is this documented?&amp;nbsp; I tried to find in docs but must have missed it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Dec 2019 18:58:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678364#M6029</guid>
      <dc:creator>SteveEllis1</dc:creator>
      <dc:date>2019-12-04T18:58:48Z</dc:date>
    </item>
    <item>
      <title>Re: Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678365#M6030</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Steve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The &lt;A href="https://developers.arcgis.com/ios/latest/api-reference/interface_a_g_s_graphics_overlay.html#ac907c15bf71a42c097384fac0ab11585" rel="nofollow noopener noreferrer" target="_blank"&gt;&lt;STRONG&gt;graphics&lt;/STRONG&gt;&lt;/A&gt; property on &lt;A href="https://developers.arcgis.com/ios/latest/api-reference/interface_a_g_s_graphics_overlay.html" rel="nofollow noopener noreferrer" target="_blank"&gt;&lt;STRONG&gt;AGSGraphicsOverlay&lt;/STRONG&gt;&lt;/A&gt; is listed as a &lt;STRONG&gt;Mutable Array&lt;/STRONG&gt; of &lt;STRONG&gt;AGSGraphics&lt;/STRONG&gt;. Unfortunately, the way it's exposed via the SDK, it's not strongly typed that way so you have to tell Swift what its contents are.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For reference, here's the code from SO:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; searchMarker &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"-KlRW2_rba1zBrDPpxSl"&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; newLocation &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;AGSPointMakeWGS84&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;40.7128&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;74.0060&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// NYC&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; graphic &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;overlay&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;graphics &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;AGSGraphic&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;first&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;where&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;$&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;attributes&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"marker"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt; String&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; searchMarker &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// Move the graphic&lt;/SPAN&gt;
    graphic&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;geometry &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; newLocation
    &lt;SPAN class="comment token"&gt;// Or remove the graphic&lt;/SPAN&gt;
    overlay&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;graphics&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;remove&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;graphic&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In that code the trick is really in the &lt;SPAN style="font-family: 'andale mono', monospace;"&gt;&lt;STRONG&gt;(overlay.graphics as? [AGSGraphic])?&lt;/STRONG&gt;&lt;/SPAN&gt; which will actually never be &lt;STRONG style="font-family: 'andale mono', monospace; "&gt;nil&lt;/STRONG&gt; but rather than fight that (or use explicit unwraps which should really be avoided), since the result of &lt;SPAN style="font-family: 'andale mono', monospace;"&gt;&lt;STRONG&gt;first()&lt;/STRONG&gt;&lt;/SPAN&gt; could be nil, let's just use optional chaining for a cleaner bit of code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once we've (re-)typed the array, the rest is all NSArray functionality, made nicer by Swift closure shortcuts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does that answer your question?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:35:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678365#M6030</guid>
      <dc:creator>Nicholas-Furness</dc:creator>
      <dc:date>2021-12-12T04:35:47Z</dc:date>
    </item>
    <item>
      <title>Re: Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678366#M6031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nick:&lt;/P&gt;&lt;P&gt;Yes - this answered my question.&amp;nbsp; Thanks for the help.&amp;nbsp; Haven't started to update Android version yet, but assume there is a similar approach to identify the marker by the attribute and update the lat/long?&lt;/P&gt;&lt;P&gt;Steve&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Dec 2019 17:48:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678366#M6031</guid>
      <dc:creator>SteveEllis1</dc:creator>
      <dc:date>2019-12-05T17:48:27Z</dc:date>
    </item>
    <item>
      <title>Re: Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678367#M6032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yeah, there should be. I don't do any Java or Kotlin, but the underlying principles will be the same. You might have to do it old school and loop over &lt;A href="https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/mapping/view/GraphicsOverlay.html#getGraphics()"&gt;all the graphics&lt;/A&gt;, checking each one's attributes["marker"] until you find a match. That's what the first(where:) Swift method is doing behind the scenes anyway.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Dec 2019 17:57:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678367#M6032</guid>
      <dc:creator>Nicholas-Furness</dc:creator>
      <dc:date>2019-12-05T17:57:30Z</dc:date>
    </item>
    <item>
      <title>Re: Move and Remove Markers on Graphics Layer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678368#M6033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;An update from one of my Java-savvy colleagues (&lt;A href="https://community.esri.com/migrated-users/10061"&gt;Colin Anderson&lt;/A&gt;‌) suggests you could do something like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-java line-numbers"&gt;&lt;CODE&gt;Graphic graphic &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; graphicsOverlay&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getGraphics&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;stream&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;filter&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;g &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; g&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;getAttributes&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;containsValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"value"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;findFirst&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;orElse&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;null&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you know you won't have that "marker" value in any other attribute on the graphic, this'll work nicely. Otherwise you might modify the predicate in the filter() function to be more explicit, but this pattern will work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Dec 2019 18:37:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/move-and-remove-markers-on-graphics-layer/m-p/678368#M6033</guid>
      <dc:creator>Nicholas-Furness</dc:creator>
      <dc:date>2019-12-05T18:37:28Z</dc:date>
    </item>
  </channel>
</rss>

