<?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: navigation in ArcGIS Runtime SDK for iOS Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567158#M4879</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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;import&lt;/STRONG&gt;&lt;/SPAN&gt; UIKit&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;import&lt;/STRONG&gt;&lt;/SPAN&gt; AVFoundation&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;import&lt;/STRONG&gt;&lt;/SPAN&gt; ArcGIS&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 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 style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;Hybrid_url&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSArcGISTiledLayer&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(url:&lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;URL&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(string: &lt;/SPAN&gt;"https://services.gisqatar.org.qa/server/rest/services/Vector/Qatar_StreetMap_Hybrid_E/MapServer"&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; - Navigate route View Controller&lt;/STRONG&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;/P&gt;&lt;P style="color: #0b4f79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;class&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;NavigateRouteViewController&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIViewController&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; Instance properties&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The route result solved by the route task.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;routeResult&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteResult&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The original view point that can be reset to later on.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;defaultViewPoint&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSViewpoint&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The graphic (with a dashed line symbol) to represent the route ahead.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;routeAheadGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The graphic to represent the route that's been traveled (initially empty).&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;routeTraveledGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;A list to keep track of directions solved by the route task.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;directionsList&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: [&lt;/SPAN&gt;AGSDirectionManeuver&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;] = []&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The route tracker for navigation. Use delegate methods to update tracking status.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;routeTracker&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The route task to solve the route between stops, using the online routing service.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;routeTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteTask&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The initial location for the solved route.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;initialLocation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSLocation&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;A formatter to format a time value into human readable string.&lt;/P&gt;&lt;P style="color: #3900a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;lazy&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;timeFormatter&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;DateComponentsFormatter&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; formatter = &lt;SPAN style="color: #3900a0;"&gt;DateComponentsFormatter&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;formatter.&lt;SPAN style="color: #6c36a9;"&gt;allowedUnits&lt;/SPAN&gt; = [.&lt;SPAN style="color: #6c36a9;"&gt;hour&lt;/SPAN&gt;, .&lt;SPAN style="color: #6c36a9;"&gt;minute&lt;/SPAN&gt;, .&lt;SPAN style="color: #6c36a9;"&gt;second&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;formatter.&lt;SPAN style="color: #6c36a9;"&gt;unitsStyle&lt;/SPAN&gt; = .&lt;SPAN style="color: #6c36a9;"&gt;full&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; formatter&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}()&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;An AVSpeechSynthesizer for text to speech.&lt;/P&gt;&lt;P style="color: #3900a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;lazy&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;speechSynthesizer&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;AVSpeechSynthesizer&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; Storyboard views&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The button to initiate navigation.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIBarButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The button to reset navigation.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;resetButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIBarButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The button to recenter the map to navigation pan mode.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIBarButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The label to display navigation status.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;statusLabel&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UILabel&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The map view managed by the view controller.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;mapView&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSMapView&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;didSet&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;map&lt;/SPAN&gt; = &lt;SPAN style="color: #1c464a;"&gt;AGSMap&lt;/SPAN&gt;(basemap: &lt;SPAN style="color: #1c464a;"&gt;AGSBasemap&lt;/SPAN&gt;(baseLayer: &lt;SPAN style="color: #326d74;"&gt;Hybrid_url&lt;/SPAN&gt;))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// &lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;mapView.map = AGSMap(basemap: .navigationVector())&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;graphicsOverlays&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;add&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(&lt;/SPAN&gt;makeRouteOverlay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; Instance methods&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;A wrapper function for operations after the route is solved by an &lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSRouteTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;routeResult&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;The result from &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSRouteTask.solveRoute(with:completion:)&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;didSolveRoute&lt;/SPAN&gt;(with routeResult: &lt;SPAN style="color: #3900a0;"&gt;Result&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="color: #1c464a;"&gt;AGSRouteResult&lt;/SPAN&gt;, &lt;SPAN style="color: #3900a0;"&gt;Error&lt;/SPAN&gt;&amp;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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;switch&lt;/STRONG&gt;&lt;/SPAN&gt; routeResult {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt; .&lt;SPAN style="color: #6c36a9;"&gt;success&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; routeResult):&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;routeResult&lt;/SPAN&gt; = routeResult&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; firstRoute = routeResult.&lt;SPAN style="color: #326d74;"&gt;routes&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;first&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;dataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;makeDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(route: firstRoute)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTracker&lt;/SPAN&gt; = &lt;SPAN style="color: #326d74;"&gt;makeRouteTracker&lt;/SPAN&gt;(result: routeResult)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateRouteGraphics&lt;/SPAN&gt;(remaining: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateViewpoint&lt;/SPAN&gt;(geometry: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&lt;/SPAN&gt;!)&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Enable bar button item.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt; .&lt;SPAN style="color: #6c36a9;"&gt;failure&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; error):&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;presentAlert&lt;/SPAN&gt;(error: error)&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(message: &lt;/SPAN&gt;"Failed to solve route."&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Create the stops for the navigation.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;An array of &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSStop&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN&gt; objects.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;makeStops&lt;/SPAN&gt;() -&amp;gt; [&lt;SPAN style="color: #1c464a;"&gt;AGSStop&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; stop1 = &lt;SPAN style="color: #1c464a;"&gt;AGSStop&lt;/SPAN&gt;(point: &lt;SPAN style="color: #1c464a;"&gt;AGSPoint&lt;/SPAN&gt;(x: &lt;SPAN style="color: #1c00cf;"&gt;231345.91&lt;/SPAN&gt;, y: &lt;SPAN style="color: #1c00cf;"&gt;397052.85&lt;/SPAN&gt;, spatialReference: &lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;spatialReference&lt;/SPAN&gt;))&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop1.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;"Bldg:122, Zone:61, Street:836"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; stop2 = &lt;SPAN style="color: #1c464a;"&gt;AGSStop&lt;/SPAN&gt;(point: &lt;SPAN style="color: #1c464a;"&gt;AGSPoint&lt;/SPAN&gt;(x: &lt;SPAN style="color: #1c00cf;"&gt;231069.80&lt;/SPAN&gt;, y: &lt;SPAN style="color: #1c00cf;"&gt;397486.90&lt;/SPAN&gt;, spatialReference: &lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;spatialReference&lt;/SPAN&gt;))&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop2.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;"Bldg:49, Zone:60, Street:200"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; [stop1, stop2]&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;let stop1 = AGSStop(point: AGSPoint(x: -117.160386727, y: 32.706608, spatialReference: .wgs84()))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop1.name = "San Diego Convention Center"&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;let stop2 = AGSStop(point: AGSPoint(x: -117.173034, y: 32.712329, spatialReference: .wgs84()))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop2.name = "USS San Diego Memorial"&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;let stop3 = AGSStop(point: AGSPoint(x: -117.147230, y: 32.730467, spatialReference: .wgs84()))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop3.name = "RH Fleet Aerospace Museum"&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return [stop1, stop2, stop3]&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Make the simulated data source for this demo.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;route&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;An &lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSRoute&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt; object whose geometry is used to configure the data source.&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSSimulatedLocationDataSource&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt; object.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;makeDataSource&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(route: &lt;/SPAN&gt;AGSRoute&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;) -&amp;gt; &lt;/SPAN&gt;AGSSimulatedLocationDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = route.&lt;/SPAN&gt;directionManeuvers&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; densifiedRoute = &lt;SPAN style="color: #1c464a;"&gt;AGSGeometryEngine&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;geodeticDensifyGeometry&lt;/SPAN&gt;(route.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&lt;/SPAN&gt;!, maxSegmentLength: &lt;SPAN style="color: #1c00cf;"&gt;50.0&lt;/SPAN&gt;, lengthUnit: .&lt;SPAN style="color: #326d74;"&gt;meters&lt;/SPAN&gt;(), curveType: .&lt;SPAN style="color: #326d74;"&gt;geodesic&lt;/SPAN&gt;) &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt;! &lt;SPAN style="color: #1c464a;"&gt;AGSPolyline&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// The mock data source to demo the navigation. Use delegate methods to update locations for the tracker.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; mockDataSource = &lt;/SPAN&gt;AGSSimulatedLocationDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;mockDataSource.&lt;SPAN style="color: #326d74;"&gt;setLocationsWith&lt;/SPAN&gt;(densifiedRoute)&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;mockDataSource.&lt;/SPAN&gt;locationChangeHandlerDelegate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;initialLocation&lt;/SPAN&gt; = mockDataSource.&lt;SPAN style="color: #326d74;"&gt;locations&lt;/SPAN&gt;?.&lt;SPAN style="color: #6c36a9;"&gt;first&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; mockDataSource&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Make a route tracker to provide navigation information.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;result&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;An &lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSRouteResult&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt; object used to configure the route tracker.&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSRouteTracker&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt; object.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;makeRouteTracker&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(result: &lt;/SPAN&gt;AGSRouteResult&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;) -&amp;gt; &lt;/SPAN&gt;AGSRouteTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; tracker = &lt;SPAN style="color: #1c464a;"&gt;AGSRouteTracker&lt;/SPAN&gt;(routeResult: result, routeIndex: &lt;SPAN style="color: #1c00cf;"&gt;0&lt;/SPAN&gt;, skipCoincidentStops: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;tracker.&lt;SPAN style="color: #326d74;"&gt;delegate&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; tracker&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Make a graphic overlay and add graphics to it.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSGraphicsOverlay&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt; object.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;makeRouteOverlay&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() -&amp;gt; &lt;/SPAN&gt;AGSGraphicsOverlay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// The graphics overlay for the polygon and points.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; graphicsOverlay = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphicsOverlay&lt;/SPAN&gt;()&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Add stops graphics to the graphic overlay.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; stopSymbol = &lt;SPAN style="color: #1c464a;"&gt;AGSSimpleMarkerSymbol&lt;/SPAN&gt;(style: .&lt;SPAN style="color: #326d74;"&gt;diamond&lt;/SPAN&gt;, color: .&lt;SPAN style="color: #6c36a9;"&gt;orange&lt;/SPAN&gt;, size: &lt;SPAN style="color: #1c00cf;"&gt;20&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;graphicsOverlay.&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;addObjects&lt;/SPAN&gt;(from: &lt;SPAN style="color: #326d74;"&gt;makeStops&lt;/SPAN&gt;().&lt;SPAN style="color: #6c36a9;"&gt;map&lt;/SPAN&gt; { &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: $0.&lt;SPAN style="color: #326d74;"&gt;geometry&lt;/SPAN&gt;, symbol: stopSymbol) })&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeAheadGraphic&lt;/SPAN&gt; = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&gt;&lt;/SPAN&gt;, symbol: &lt;SPAN style="color: #1c464a;"&gt;AGSSimpleLineSymbol&lt;/SPAN&gt;(style: .&lt;SPAN style="color: #326d74;"&gt;dash&lt;/SPAN&gt;, color: .&lt;SPAN style="color: #6c36a9;"&gt;systemPurple&lt;/SPAN&gt;, width: &lt;SPAN style="color: #1c00cf;"&gt;5&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTraveledGraphic&lt;/SPAN&gt; = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&gt;&lt;/SPAN&gt;, symbol: &lt;SPAN style="color: #1c464a;"&gt;AGSSimpleLineSymbol&lt;/SPAN&gt;(style: .&lt;SPAN style="color: #326d74;"&gt;solid&lt;/SPAN&gt;, color: .&lt;SPAN style="color: #6c36a9;"&gt;systemBlue&lt;/SPAN&gt;, width: &lt;SPAN style="color: #1c00cf;"&gt;3&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;graphicsOverlay.&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;addObjects&lt;/SPAN&gt;(from: [&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeAheadGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTraveledGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; graphicsOverlay&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Update the viewpoint so that it reflects the original viewpoint when the example is loaded.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;result&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSGeometry&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN&gt; object used to update the view point.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;updateViewpoint&lt;/SPAN&gt;(geometry: &lt;SPAN style="color: #1c464a;"&gt;AGSGeometry&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Show the resulting route on the map and save a reference to the route.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; viewPoint = &lt;SPAN style="color: #326d74;"&gt;defaultViewPoint&lt;/SPAN&gt; {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset to initial view point with animation.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;setViewpoint&lt;/SPAN&gt;(viewPoint, completion: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;setViewpointGeometry&lt;/SPAN&gt;(geometry) { [&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;] &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Get the initial zoomed view point.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&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.85);"&gt;?.&lt;/SPAN&gt;defaultViewPoint&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &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.85);"&gt;?.&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;currentViewpoint&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(with: .&lt;/SPAN&gt;centerAndScale&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// MARK:&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt; UI&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;setStatus&lt;/SPAN&gt;(message: &lt;SPAN style="color: #3900a0;"&gt;String&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;statusLabel&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;text&lt;/SPAN&gt; = message&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// MARK:&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt; Actions&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Called in response to the "Navigate" button being tapped.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;@IBAction&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;startNavigation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;resetButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanMode&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = .&lt;/SPAN&gt;navigation&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// If the user navigates the map view away from the location display, activate the recenter button.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanModeChangedHandler&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = { [&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &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.85);"&gt;] &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &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.85);"&gt;?.&lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Start the location data source and location display.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;start&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Called in response to the "Reset" button being tapped.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBAction&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;reset&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Stop the speech, if there is any.&lt;/P&gt;&lt;P style="color: #6c36a9; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;speechSynthesizer&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;stopSpeaking&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(at: .&lt;/SPAN&gt;immediate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset to the starting location for location display.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;dataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;didUpdate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(&lt;/SPAN&gt;initialLocation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Stop the location display as well as datasource generation, if reset before the end is reached.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;stop&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanMode&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = .&lt;/SPAN&gt;off&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;removeAll&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(message: &lt;/SPAN&gt;"Directions are shown here."&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset the navigation.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; firstRoute = &lt;SPAN style="color: #326d74;"&gt;routeResult&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;routes&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;first&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;dataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;makeDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(route: firstRoute)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;makeRouteTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(result: &lt;/SPAN&gt;routeResult&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateRouteGraphics&lt;/SPAN&gt;(remaining: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateViewpoint&lt;/SPAN&gt;(geometry: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&lt;/SPAN&gt;!)&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset buttons state.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;resetButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Called in response to the "Recenter" button being tapped.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBAction&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;recenter&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanMode&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = .&lt;/SPAN&gt;navigation&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; UIViewController&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;override&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;viewDidLoad&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;super&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;viewDidLoad&lt;/SPAN&gt;()&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Avoid the overlap between the label and the map content.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;contentInset&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;top&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;CGFloat&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(&lt;/SPAN&gt;statusLabel&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;numberOfLines&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;) &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;*&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;statusLabel&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;font&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;lineHeight&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Solve the route as map loads.&lt;/P&gt;&lt;P style="color: #0e0eff; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;routeTask = AGSRouteTask(url: URL(string: "&lt;/SPAN&gt;https://sampleserver6.arcgisonline.com/arcgis/rest/services/NetworkAnalysis/SanDiego/NAServer/Route&lt;SPAN style="color: #5d6c79;"&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSRouteTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(url: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;URL&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(string: &lt;/SPAN&gt;"https://services.gisqatar.org.qa/server/rest/services/Routing/RouteTime/NAServer/Route"&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTask&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;defaultRouteParameters&lt;/SPAN&gt; { [&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;] (params: &lt;SPAN style="color: #1c464a;"&gt;AGSRouteParameters&lt;/SPAN&gt;?, error: &lt;SPAN style="color: #3900a0;"&gt;Error&lt;/SPAN&gt;?) &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;guard&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; { &lt;/SPAN&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; error = error {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;presentAlert&lt;/SPAN&gt;(error: error)&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&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.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(message: &lt;/SPAN&gt;"Failed to get route parameters."&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; params = params {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Explicitly set values for parameters.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;returnDirections&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;returnStops&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;returnRoutes&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;outputSpatialReference&lt;/SPAN&gt; = .&lt;SPAN style="color: #326d74;"&gt;wgs84&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;setStops&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;makeStops&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;routeTask&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;solveRoute&lt;/SPAN&gt;(with: params) { [&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;] (result, error) &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; error = error {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;?.&lt;SPAN style="color: #326d74;"&gt;didSolveRoute&lt;/SPAN&gt;(with: .&lt;SPAN style="color: #6c36a9;"&gt;failure&lt;/SPAN&gt;(error))&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; result = result {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;?.&lt;SPAN style="color: #326d74;"&gt;didSolveRoute&lt;/SPAN&gt;(with: .&lt;SPAN style="color: #6c36a9;"&gt;success&lt;/SPAN&gt;(result))&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Add the source code button item to the right of navigation bar.&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;(self.navigationItem.rightBarButtonItem as? SourceCodeBarButtonItem)?.filenames = ["NavigateRouteViewController"]&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;override&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;viewWillDisappear&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; animated: &lt;SPAN style="color: #3900a0;"&gt;Bool&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;super&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;viewWillDisappear&lt;/SPAN&gt;(animated)&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Only reset when the route is successfully solved.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #326d74;"&gt;routeResult&lt;/SPAN&gt; &lt;SPAN style="color: #6c36a9;"&gt;!=&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;reset&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/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 style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; - AGSRouteTrackerDelegate&lt;/STRONG&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;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;extension&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;NavigateRouteViewController&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteTrackerDelegate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;routeTracker&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; routeTracker: &lt;SPAN style="color: #1c464a;"&gt;AGSRouteTracker&lt;/SPAN&gt;, didGenerateNewVoiceGuidance voiceGuidance: &lt;SPAN style="color: #1c464a;"&gt;AGSVoiceGuidance&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setSpeakDirection&lt;/SPAN&gt;(with: voiceGuidance.&lt;SPAN style="color: #326d74;"&gt;text&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;routeTracker&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; routeTracker: &lt;SPAN style="color: #1c464a;"&gt;AGSRouteTracker&lt;/SPAN&gt;, didUpdate trackingStatus: &lt;SPAN style="color: #1c464a;"&gt;AGSTrackingStatus&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateTrackingStatusDisplay&lt;/SPAN&gt;(with: trackingStatus)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;setSpeakDirection&lt;/SPAN&gt;(with text: &lt;SPAN style="color: #3900a0;"&gt;String&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;speechSynthesizer&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;stopSpeaking&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(at: .&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;word&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;speechSynthesizer&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;speak&lt;/SPAN&gt;(&lt;SPAN style="color: #3900a0;"&gt;AVSpeechUtterance&lt;/SPAN&gt;(string: text))&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;updateTrackingStatusDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(with status: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSTrackingStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt; statusText: &lt;SPAN style="color: #3900a0;"&gt;String&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;switch&lt;/STRONG&gt;&lt;/SPAN&gt; status.&lt;SPAN style="color: #326d74;"&gt;destinationStatus&lt;/SPAN&gt; {&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; .&lt;/SPAN&gt;notReached&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;, .&lt;/SPAN&gt;approaching&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; distanceRemaining = status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;remainingDistance&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;displayText&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #c41a16;"&gt;" "&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;remainingDistance&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;displayTextUnits&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;pluralDisplayName&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; timeRemaining = &lt;SPAN style="color: #326d74;"&gt;timeFormatter&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;string&lt;/SPAN&gt;(from: &lt;SPAN style="color: #3900a0;"&gt;TimeInterval&lt;/SPAN&gt;(status.&lt;SPAN style="color: #326d74;"&gt;routeProgress&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;remainingTime&lt;/SPAN&gt; &lt;SPAN style="color: #6c36a9;"&gt;*&lt;/SPAN&gt; &lt;SPAN style="color: #1c00cf;"&gt;60&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText = &lt;SPAN style="color: #c41a16;"&gt;"""&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;Distance remaining: &lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;\(distanceRemaining)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;Time remaining: &lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;\(timeRemaining)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;"""&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; status.&lt;/SPAN&gt;currentManeuverIndex&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #1c00cf;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;count&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; nextDirection = &lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;[status.&lt;/SPAN&gt;currentManeuverIndex&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #1c00cf;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;].&lt;/SPAN&gt;directionText&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText.&lt;SPAN style="color: #6c36a9;"&gt;append&lt;/SPAN&gt;(&lt;SPAN style="color: #c41a16;"&gt;"\nNext direction: &lt;/SPAN&gt;\(nextDirection)&lt;SPAN style="color: #c41a16;"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt; .&lt;SPAN style="color: #326d74;"&gt;reached&lt;/SPAN&gt;:&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; status.&lt;/SPAN&gt;remainingDestinationCount&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #1c00cf;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText = &lt;/SPAN&gt;"Intermediate stop reached, continue to next stop."&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;?.&lt;/SPAN&gt;switchToNextDestination&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText = &lt;SPAN style="color: #c41a16;"&gt;"Final destination reached."&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;stop&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;default&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;updateRouteGraphics&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(remaining: status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;remainingGeometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;, traversed: status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;traversedGeometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;(message: statusText)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;updateRouteGraphics&lt;/SPAN&gt;(remaining: &lt;SPAN style="color: #1c464a;"&gt;AGSGeometry&lt;/SPAN&gt;?, traversed: &lt;SPAN style="color: #1c464a;"&gt;AGSGeometry&lt;/SPAN&gt;? = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&gt;&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeAheadGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;geometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = remaining&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTraveledGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;geometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = traversed&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/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 style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; - AGSLocationChangeHandlerDelegate&lt;/STRONG&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;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;extension&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;NavigateRouteViewController&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSLocationChangeHandlerDelegate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;locationDataSource&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; locationDataSource: &lt;SPAN style="color: #1c464a;"&gt;AGSLocationDataSource&lt;/SPAN&gt;, locationDidChange location: &lt;SPAN style="color: #1c464a;"&gt;AGSLocation&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Update the tracker location with the new location from the simulated data source.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;?.&lt;/SPAN&gt;trackLocation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(location)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Oct 2020 05:46:36 GMT</pubDate>
    <dc:creator>AfrozAlam</dc:creator>
    <dc:date>2020-10-08T05:46:36Z</dc:date>
    <item>
      <title>navigation</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567155#M4876</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created a Navigation application by using the Code from &lt;STRONG&gt;Navigation Route&lt;/STRONG&gt; example and my routing data using the URL as below;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN style="font-size: 15px; color: #0000ff;"&gt; "&lt;A href="https://services.gisqatar.org.qa/server/rest/services/Routing/RouteTime/NAServer/Route" style="color: #0000ff;"&gt;https://services.gisqatar.org.qa/server/rest/services/Routing/RouteTime/NAServer/Route&lt;/A&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;I am following step by step as per the example. It generates the Stops, Route and starts tracking immediately after tapping the &lt;STRONG&gt;Navigation&lt;/STRONG&gt; button but &lt;STRONG&gt;not updating the Status Label&lt;/STRONG&gt; and &lt;STRONG&gt;changing the graphic of Travelled Route&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;as shown in the screenshot. Actually, after debugging, I notice that it is not entering the &lt;STRONG&gt;AGSRouteTrackerDelegate&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;and also not generating the voice guidance. I am unable to figure out what mistake is being done.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;Starts navigation after executing this code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;mapView.locationDisplay.start()&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="background-color: #ffffff; color: rgba(0, 0, 0, 0.85); "&gt;Where as it should enter to delegate code as below;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;extension&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;NavigateRouteViewController: AGSRouteTrackerDelegate {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;routeTracker(&lt;STRONG&gt;_&lt;/STRONG&gt; routeTracker: AGSRouteTracker, didGenerateNewVoiceGuidance voiceGuidance: &amp;nbsp; &amp;nbsp;AGSVoiceGuidance) {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;setSpeakDirection(with: voiceGuidance.text)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;I would be very much grateful, if anyone can help me in this regard.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;Afroz Alam&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;The Center for GIS, MME,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #3d3d3d;"&gt;Qatar&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Oct 2020 11:31:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567155#M4876</guid>
      <dc:creator>AfrozAlam</dc:creator>
      <dc:date>2020-10-07T11:31:26Z</dc:date>
    </item>
    <item>
      <title>Re: navigation</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567156#M4877</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make sure you're setting the delegate properly and haven't accidentally neglected to do that. See&amp;nbsp;&lt;A class="link-titled" href="https://github.com/Esri/arcgis-runtime-samples-ios/blob/1111077da0c1d6f4d95772596174e699ffa390a4/arcgis-ios-sdk-samples/Route%20and%20directions/Navigate%20route/NavigateRouteViewController.swift#L120" title="https://github.com/Esri/arcgis-runtime-samples-ios/blob/1111077da0c1d6f4d95772596174e699ffa390a4/arcgis-ios-sdk-samples/Route%20and%20directions/Navigate%20route/NavigateRouteViewController.swift#L120"&gt;arcgis-runtime-samples-ios/NavigateRouteViewController.swift at 1111077da0c1d6f4d95772596174e699ffa390a4 · Esri/arcgis-r…&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you're &lt;A href="https://github.com/Esri/arcgis-runtime-samples-ios/blob/1111077da0c1d6f4d95772596174e699ffa390a4/arcgis-ios-sdk-samples/Route%20and%20directions/Navigate%20route/NavigateRouteViewController.swift#L120"&gt;doing that&lt;/A&gt;, and you're &lt;A href="https://github.com/Esri/arcgis-runtime-samples-ios/blob/1111077da0c1d6f4d95772596174e699ffa390a4/arcgis-ios-sdk-samples/Route%20and%20directions/Navigate%20route/NavigateRouteViewController.swift#L168"&gt;passing the routeTracker to the AGSRouteTrackerLocationDataSource constructor&lt;/A&gt;, and you're &lt;A href="https://github.com/Esri/arcgis-runtime-samples-ios/blob/1111077da0c1d6f4d95772596174e699ffa390a4/arcgis-ios-sdk-samples/Route%20and%20directions/Navigate%20route/NavigateRouteViewController.swift#L171"&gt;setting the mapView.locationDisplay.dataSource to the new AGSRouteTrackerLocationDataSource&lt;/A&gt;, then the tracker will remain allocated and you should receive delegate calls.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you still can't track it down, we'd need to see more of your code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nick&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Oct 2020 18:40:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567156#M4877</guid>
      <dc:creator>Nicholas-Furness</dc:creator>
      <dc:date>2020-10-07T18:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: navigation</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567157#M4878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At the&amp;nbsp;outset, I would like express my sincere thanks for such a prompt response and suggestions.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here, I want to specifically mention that when I fetch my data through URLs, as mentioned above, in the original sample of&amp;nbsp;ESRI (&lt;SPAN style="color: #0000ff;"&gt;arcgis-ios-sdk-samples&lt;/SPAN&gt;), I am surprise to see that it is working fine. It means there is some setting of the project which I am missing. I am attaching my full code as herewith for your ready reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Warm regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2020 05:41:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567157#M4878</guid>
      <dc:creator>AfrozAlam</dc:creator>
      <dc:date>2020-10-08T05:41:42Z</dc:date>
    </item>
    <item>
      <title>Re: navigation</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567158#M4879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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;import&lt;/STRONG&gt;&lt;/SPAN&gt; UIKit&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;import&lt;/STRONG&gt;&lt;/SPAN&gt; AVFoundation&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;import&lt;/STRONG&gt;&lt;/SPAN&gt; ArcGIS&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 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 style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;Hybrid_url&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSArcGISTiledLayer&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(url:&lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;URL&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(string: &lt;/SPAN&gt;"https://services.gisqatar.org.qa/server/rest/services/Vector/Qatar_StreetMap_Hybrid_E/MapServer"&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; - Navigate route View Controller&lt;/STRONG&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;/P&gt;&lt;P style="color: #0b4f79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;class&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;NavigateRouteViewController&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIViewController&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; Instance properties&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The route result solved by the route task.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;routeResult&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteResult&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The original view point that can be reset to later on.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;defaultViewPoint&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSViewpoint&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The graphic (with a dashed line symbol) to represent the route ahead.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;routeAheadGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The graphic to represent the route that's been traveled (initially empty).&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;routeTraveledGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;A list to keep track of directions solved by the route task.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;directionsList&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: [&lt;/SPAN&gt;AGSDirectionManeuver&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;] = []&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The route tracker for navigation. Use delegate methods to update tracking status.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;routeTracker&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The route task to solve the route between stops, using the online routing service.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;routeTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteTask&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The initial location for the solved route.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;initialLocation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSLocation&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;A formatter to format a time value into human readable string.&lt;/P&gt;&lt;P style="color: #3900a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;lazy&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;timeFormatter&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;DateComponentsFormatter&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; formatter = &lt;SPAN style="color: #3900a0;"&gt;DateComponentsFormatter&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;formatter.&lt;SPAN style="color: #6c36a9;"&gt;allowedUnits&lt;/SPAN&gt; = [.&lt;SPAN style="color: #6c36a9;"&gt;hour&lt;/SPAN&gt;, .&lt;SPAN style="color: #6c36a9;"&gt;minute&lt;/SPAN&gt;, .&lt;SPAN style="color: #6c36a9;"&gt;second&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;formatter.&lt;SPAN style="color: #6c36a9;"&gt;unitsStyle&lt;/SPAN&gt; = .&lt;SPAN style="color: #6c36a9;"&gt;full&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; formatter&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}()&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;An AVSpeechSynthesizer for text to speech.&lt;/P&gt;&lt;P style="color: #3900a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;lazy&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;speechSynthesizer&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;AVSpeechSynthesizer&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; Storyboard views&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The button to initiate navigation.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIBarButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The button to reset navigation.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;resetButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIBarButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The button to recenter the map to navigation pan mode.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UIBarButtonItem&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The label to display navigation status.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;statusLabel&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;UILabel&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;The map view managed by the view controller.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBOutlet&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;mapView&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSMapView&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;didSet&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;map&lt;/SPAN&gt; = &lt;SPAN style="color: #1c464a;"&gt;AGSMap&lt;/SPAN&gt;(basemap: &lt;SPAN style="color: #1c464a;"&gt;AGSBasemap&lt;/SPAN&gt;(baseLayer: &lt;SPAN style="color: #326d74;"&gt;Hybrid_url&lt;/SPAN&gt;))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// &lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;mapView.map = AGSMap(basemap: .navigationVector())&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;graphicsOverlays&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;add&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(&lt;/SPAN&gt;makeRouteOverlay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; Instance methods&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;A wrapper function for operations after the route is solved by an &lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSRouteTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;routeResult&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;The result from &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSRouteTask.solveRoute(with:completion:)&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;didSolveRoute&lt;/SPAN&gt;(with routeResult: &lt;SPAN style="color: #3900a0;"&gt;Result&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="color: #1c464a;"&gt;AGSRouteResult&lt;/SPAN&gt;, &lt;SPAN style="color: #3900a0;"&gt;Error&lt;/SPAN&gt;&amp;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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;switch&lt;/STRONG&gt;&lt;/SPAN&gt; routeResult {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt; .&lt;SPAN style="color: #6c36a9;"&gt;success&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; routeResult):&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;routeResult&lt;/SPAN&gt; = routeResult&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; firstRoute = routeResult.&lt;SPAN style="color: #326d74;"&gt;routes&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;first&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;dataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;makeDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(route: firstRoute)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTracker&lt;/SPAN&gt; = &lt;SPAN style="color: #326d74;"&gt;makeRouteTracker&lt;/SPAN&gt;(result: routeResult)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateRouteGraphics&lt;/SPAN&gt;(remaining: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateViewpoint&lt;/SPAN&gt;(geometry: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&lt;/SPAN&gt;!)&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Enable bar button item.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt; .&lt;SPAN style="color: #6c36a9;"&gt;failure&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; error):&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;presentAlert&lt;/SPAN&gt;(error: error)&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(message: &lt;/SPAN&gt;"Failed to solve route."&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Create the stops for the navigation.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;An array of &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSStop&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN&gt; objects.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;makeStops&lt;/SPAN&gt;() -&amp;gt; [&lt;SPAN style="color: #1c464a;"&gt;AGSStop&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; stop1 = &lt;SPAN style="color: #1c464a;"&gt;AGSStop&lt;/SPAN&gt;(point: &lt;SPAN style="color: #1c464a;"&gt;AGSPoint&lt;/SPAN&gt;(x: &lt;SPAN style="color: #1c00cf;"&gt;231345.91&lt;/SPAN&gt;, y: &lt;SPAN style="color: #1c00cf;"&gt;397052.85&lt;/SPAN&gt;, spatialReference: &lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;spatialReference&lt;/SPAN&gt;))&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop1.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;"Bldg:122, Zone:61, Street:836"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; stop2 = &lt;SPAN style="color: #1c464a;"&gt;AGSStop&lt;/SPAN&gt;(point: &lt;SPAN style="color: #1c464a;"&gt;AGSPoint&lt;/SPAN&gt;(x: &lt;SPAN style="color: #1c00cf;"&gt;231069.80&lt;/SPAN&gt;, y: &lt;SPAN style="color: #1c00cf;"&gt;397486.90&lt;/SPAN&gt;, spatialReference: &lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;spatialReference&lt;/SPAN&gt;))&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop2.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;"Bldg:49, Zone:60, Street:200"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; [stop1, stop2]&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;let stop1 = AGSStop(point: AGSPoint(x: -117.160386727, y: 32.706608, spatialReference: .wgs84()))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop1.name = "San Diego Convention Center"&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;let stop2 = AGSStop(point: AGSPoint(x: -117.173034, y: 32.712329, spatialReference: .wgs84()))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop2.name = "USS San Diego Memorial"&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;let stop3 = AGSStop(point: AGSPoint(x: -117.147230, y: 32.730467, spatialReference: .wgs84()))&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;stop3.name = "RH Fleet Aerospace Museum"&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return [stop1, stop2, stop3]&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Make the simulated data source for this demo.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;route&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;An &lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSRoute&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt; object whose geometry is used to configure the data source.&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSSimulatedLocationDataSource&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt; object.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;makeDataSource&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(route: &lt;/SPAN&gt;AGSRoute&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;) -&amp;gt; &lt;/SPAN&gt;AGSSimulatedLocationDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = route.&lt;/SPAN&gt;directionManeuvers&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; densifiedRoute = &lt;SPAN style="color: #1c464a;"&gt;AGSGeometryEngine&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;geodeticDensifyGeometry&lt;/SPAN&gt;(route.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&lt;/SPAN&gt;!, maxSegmentLength: &lt;SPAN style="color: #1c00cf;"&gt;50.0&lt;/SPAN&gt;, lengthUnit: .&lt;SPAN style="color: #326d74;"&gt;meters&lt;/SPAN&gt;(), curveType: .&lt;SPAN style="color: #326d74;"&gt;geodesic&lt;/SPAN&gt;) &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt;! &lt;SPAN style="color: #1c464a;"&gt;AGSPolyline&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// The mock data source to demo the navigation. Use delegate methods to update locations for the tracker.&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; mockDataSource = &lt;/SPAN&gt;AGSSimulatedLocationDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;mockDataSource.&lt;SPAN style="color: #326d74;"&gt;setLocationsWith&lt;/SPAN&gt;(densifiedRoute)&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;mockDataSource.&lt;/SPAN&gt;locationChangeHandlerDelegate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;initialLocation&lt;/SPAN&gt; = mockDataSource.&lt;SPAN style="color: #326d74;"&gt;locations&lt;/SPAN&gt;?.&lt;SPAN style="color: #6c36a9;"&gt;first&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; mockDataSource&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Make a route tracker to provide navigation information.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;result&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;An &lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSRouteResult&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt; object used to configure the route tracker.&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSRouteTracker&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt; object.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;makeRouteTracker&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(result: &lt;/SPAN&gt;AGSRouteResult&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;) -&amp;gt; &lt;/SPAN&gt;AGSRouteTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; tracker = &lt;SPAN style="color: #1c464a;"&gt;AGSRouteTracker&lt;/SPAN&gt;(routeResult: result, routeIndex: &lt;SPAN style="color: #1c00cf;"&gt;0&lt;/SPAN&gt;, skipCoincidentStops: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;tracker.&lt;SPAN style="color: #326d74;"&gt;delegate&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; tracker&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Make a graphic overlay and add graphics to it.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: rgba(47, 54, 61, 0.93); background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Returns&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;AGSGraphicsOverlay&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt; object.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;makeRouteOverlay&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() -&amp;gt; &lt;/SPAN&gt;AGSGraphicsOverlay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// The graphics overlay for the polygon and points.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; graphicsOverlay = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphicsOverlay&lt;/SPAN&gt;()&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Add stops graphics to the graphic overlay.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; stopSymbol = &lt;SPAN style="color: #1c464a;"&gt;AGSSimpleMarkerSymbol&lt;/SPAN&gt;(style: .&lt;SPAN style="color: #326d74;"&gt;diamond&lt;/SPAN&gt;, color: .&lt;SPAN style="color: #6c36a9;"&gt;orange&lt;/SPAN&gt;, size: &lt;SPAN style="color: #1c00cf;"&gt;20&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;graphicsOverlay.&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;addObjects&lt;/SPAN&gt;(from: &lt;SPAN style="color: #326d74;"&gt;makeStops&lt;/SPAN&gt;().&lt;SPAN style="color: #6c36a9;"&gt;map&lt;/SPAN&gt; { &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: $0.&lt;SPAN style="color: #326d74;"&gt;geometry&lt;/SPAN&gt;, symbol: stopSymbol) })&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeAheadGraphic&lt;/SPAN&gt; = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&gt;&lt;/SPAN&gt;, symbol: &lt;SPAN style="color: #1c464a;"&gt;AGSSimpleLineSymbol&lt;/SPAN&gt;(style: .&lt;SPAN style="color: #326d74;"&gt;dash&lt;/SPAN&gt;, color: .&lt;SPAN style="color: #6c36a9;"&gt;systemPurple&lt;/SPAN&gt;, width: &lt;SPAN style="color: #1c00cf;"&gt;5&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTraveledGraphic&lt;/SPAN&gt; = &lt;SPAN style="color: #1c464a;"&gt;AGSGraphic&lt;/SPAN&gt;(geometry: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&gt;&lt;/SPAN&gt;, symbol: &lt;SPAN style="color: #1c464a;"&gt;AGSSimpleLineSymbol&lt;/SPAN&gt;(style: .&lt;SPAN style="color: #326d74;"&gt;solid&lt;/SPAN&gt;, color: .&lt;SPAN style="color: #6c36a9;"&gt;systemBlue&lt;/SPAN&gt;, width: &lt;SPAN style="color: #1c00cf;"&gt;3&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;graphicsOverlay.&lt;SPAN style="color: #326d74;"&gt;graphics&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;addObjects&lt;/SPAN&gt;(from: [&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeAheadGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;!,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTraveledGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; graphicsOverlay&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Update the viewpoint so that it reflects the original viewpoint when the example is loaded.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;- &lt;/SPAN&gt;&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;result&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;An &lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN style="color: rgba(47, 54, 61, 0.93);"&gt;AGSGeometry&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.5);"&gt;`&lt;/SPAN&gt;&lt;SPAN&gt; object used to update the view point.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;updateViewpoint&lt;/SPAN&gt;(geometry: &lt;SPAN style="color: #1c464a;"&gt;AGSGeometry&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Show the resulting route on the map and save a reference to the route.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; viewPoint = &lt;SPAN style="color: #326d74;"&gt;defaultViewPoint&lt;/SPAN&gt; {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset to initial view point with animation.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;setViewpoint&lt;/SPAN&gt;(viewPoint, completion: &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;setViewpointGeometry&lt;/SPAN&gt;(geometry) { [&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;] &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Get the initial zoomed view point.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&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.85);"&gt;?.&lt;/SPAN&gt;defaultViewPoint&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &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.85);"&gt;?.&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;currentViewpoint&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(with: .&lt;/SPAN&gt;centerAndScale&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// MARK:&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt; UI&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;setStatus&lt;/SPAN&gt;(message: &lt;SPAN style="color: #3900a0;"&gt;String&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;statusLabel&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;text&lt;/SPAN&gt; = message&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// MARK:&lt;SPAN style="color: #4a5560;"&gt;&lt;STRONG&gt; Actions&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Called in response to the "Navigate" button being tapped.&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;@IBAction&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;startNavigation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;resetButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanMode&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = .&lt;/SPAN&gt;navigation&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// If the user navigates the map view away from the location display, activate the recenter button.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanModeChangedHandler&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = { [&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &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.85);"&gt;] &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &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.85);"&gt;?.&lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Start the location data source and location display.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;start&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Called in response to the "Reset" button being tapped.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBAction&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;reset&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Stop the speech, if there is any.&lt;/P&gt;&lt;P style="color: #6c36a9; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;speechSynthesizer&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;stopSpeaking&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(at: .&lt;/SPAN&gt;immediate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset to the starting location for location display.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;dataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;didUpdate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(&lt;/SPAN&gt;initialLocation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Stop the location display as well as datasource generation, if reset before the end is reached.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;stop&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanMode&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = .&lt;/SPAN&gt;off&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;removeAll&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(message: &lt;/SPAN&gt;"Directions are shown here."&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset the navigation.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; firstRoute = &lt;SPAN style="color: #326d74;"&gt;routeResult&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;routes&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;first&lt;/SPAN&gt;!&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;dataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;makeDataSource&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(route: firstRoute)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;makeRouteTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(result: &lt;/SPAN&gt;routeResult&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateRouteGraphics&lt;/SPAN&gt;(remaining: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateViewpoint&lt;/SPAN&gt;(geometry: firstRoute.&lt;SPAN style="color: #326d74;"&gt;routeGeometry&lt;/SPAN&gt;!)&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Reset buttons state.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;resetButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;navigateButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(93, 108, 121, 0.35);"&gt;///&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;Called in response to the "Recenter" button being tapped.&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;@IBAction&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;recenter&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;autoPanMode&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = .&lt;/SPAN&gt;navigation&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;recenterButtonItem&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;isEnabled&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;false&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; UIViewController&lt;/STRONG&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;override&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0f68a0;"&gt;viewDidLoad&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;super&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;viewDidLoad&lt;/SPAN&gt;()&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Avoid the overlap between the label and the map content.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;contentInset&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;top&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;CGFloat&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(&lt;/SPAN&gt;statusLabel&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;numberOfLines&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;) &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;*&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;statusLabel&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;font&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;lineHeight&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Solve the route as map loads.&lt;/P&gt;&lt;P style="color: #0e0eff; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;routeTask = AGSRouteTask(url: URL(string: "&lt;/SPAN&gt;https://sampleserver6.arcgisonline.com/arcgis/rest/services/NetworkAnalysis/SanDiego/NAServer/Route&lt;SPAN style="color: #5d6c79;"&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSRouteTask&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(url: &lt;/SPAN&gt;&lt;SPAN style="color: #3900a0;"&gt;URL&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(string: &lt;/SPAN&gt;"https://services.gisqatar.org.qa/server/rest/services/Routing/RouteTime/NAServer/Route"&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;routeTask&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;defaultRouteParameters&lt;/SPAN&gt; { [&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;] (params: &lt;SPAN style="color: #1c464a;"&gt;AGSRouteParameters&lt;/SPAN&gt;?, error: &lt;SPAN style="color: #3900a0;"&gt;Error&lt;/SPAN&gt;?) &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #9b2393; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;guard&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = &lt;/SPAN&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; { &lt;/SPAN&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; error = error {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;presentAlert&lt;/SPAN&gt;(error: error)&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&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.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(message: &lt;/SPAN&gt;"Failed to get route parameters."&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; params = params {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Explicitly set values for parameters.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;returnDirections&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;returnStops&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;returnRoutes&lt;/SPAN&gt; = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;true&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;outputSpatialReference&lt;/SPAN&gt; = .&lt;SPAN style="color: #326d74;"&gt;wgs84&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;params.&lt;SPAN style="color: #326d74;"&gt;setStops&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;makeStops&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;routeTask&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;solveRoute&lt;/SPAN&gt;(with: params) { [&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;weak&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;] (result, error) &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;in&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; error = error {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;?.&lt;SPAN style="color: #326d74;"&gt;didSolveRoute&lt;/SPAN&gt;(with: .&lt;SPAN style="color: #6c36a9;"&gt;failure&lt;/SPAN&gt;(error))&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; result = result {&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;self&lt;/STRONG&gt;&lt;/SPAN&gt;?.&lt;SPAN style="color: #326d74;"&gt;didSolveRoute&lt;/SPAN&gt;(with: .&lt;SPAN style="color: #6c36a9;"&gt;success&lt;/SPAN&gt;(result))&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Add the source code button item to the right of navigation bar.&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;(self.navigationItem.rightBarButtonItem as? SourceCodeBarButtonItem)?.filenames = ["NavigateRouteViewController"]&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;override&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;viewWillDisappear&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; animated: &lt;SPAN style="color: #3900a0;"&gt;Bool&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;super&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;viewWillDisappear&lt;/SPAN&gt;(animated)&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Only reset when the route is successfully solved.&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #326d74;"&gt;routeResult&lt;/SPAN&gt; &lt;SPAN style="color: #6c36a9;"&gt;!=&lt;/SPAN&gt; &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;reset&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/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 style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; - AGSRouteTrackerDelegate&lt;/STRONG&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;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;extension&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;NavigateRouteViewController&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSRouteTrackerDelegate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;routeTracker&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; routeTracker: &lt;SPAN style="color: #1c464a;"&gt;AGSRouteTracker&lt;/SPAN&gt;, didGenerateNewVoiceGuidance voiceGuidance: &lt;SPAN style="color: #1c464a;"&gt;AGSVoiceGuidance&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setSpeakDirection&lt;/SPAN&gt;(with: voiceGuidance.&lt;SPAN style="color: #326d74;"&gt;text&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;routeTracker&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; routeTracker: &lt;SPAN style="color: #1c464a;"&gt;AGSRouteTracker&lt;/SPAN&gt;, didUpdate trackingStatus: &lt;SPAN style="color: #1c464a;"&gt;AGSTrackingStatus&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;updateTrackingStatusDisplay&lt;/SPAN&gt;(with: trackingStatus)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;setSpeakDirection&lt;/SPAN&gt;(with text: &lt;SPAN style="color: #3900a0;"&gt;String&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;speechSynthesizer&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;stopSpeaking&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(at: .&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;word&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;speechSynthesizer&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;speak&lt;/SPAN&gt;(&lt;SPAN style="color: #3900a0;"&gt;AVSpeechUtterance&lt;/SPAN&gt;(string: text))&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #0f68a0; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;updateTrackingStatusDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(with status: &lt;/SPAN&gt;&lt;SPAN style="color: #1c464a;"&gt;AGSTrackingStatus&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;var&lt;/STRONG&gt;&lt;/SPAN&gt; statusText: &lt;SPAN style="color: #3900a0;"&gt;String&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;switch&lt;/STRONG&gt;&lt;/SPAN&gt; status.&lt;SPAN style="color: #326d74;"&gt;destinationStatus&lt;/SPAN&gt; {&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; .&lt;/SPAN&gt;notReached&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;, .&lt;/SPAN&gt;approaching&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; distanceRemaining = status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;remainingDistance&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;displayText&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #c41a16;"&gt;" "&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;remainingDistance&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;displayTextUnits&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;pluralDisplayName&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; timeRemaining = &lt;SPAN style="color: #326d74;"&gt;timeFormatter&lt;/SPAN&gt;.&lt;SPAN style="color: #6c36a9;"&gt;string&lt;/SPAN&gt;(from: &lt;SPAN style="color: #3900a0;"&gt;TimeInterval&lt;/SPAN&gt;(status.&lt;SPAN style="color: #326d74;"&gt;routeProgress&lt;/SPAN&gt;.&lt;SPAN style="color: #326d74;"&gt;remainingTime&lt;/SPAN&gt; &lt;SPAN style="color: #6c36a9;"&gt;*&lt;/SPAN&gt; &lt;SPAN style="color: #1c00cf;"&gt;60&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText = &lt;SPAN style="color: #c41a16;"&gt;"""&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;Distance remaining: &lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;\(distanceRemaining)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;Time remaining: &lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;\(timeRemaining)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;"""&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; status.&lt;/SPAN&gt;currentManeuverIndex&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #1c00cf;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;count&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; nextDirection = &lt;/SPAN&gt;directionsList&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;[status.&lt;/SPAN&gt;currentManeuverIndex&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;+&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #1c00cf;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;].&lt;/SPAN&gt;directionText&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText.&lt;SPAN style="color: #6c36a9;"&gt;append&lt;/SPAN&gt;(&lt;SPAN style="color: #c41a16;"&gt;"\nNext direction: &lt;/SPAN&gt;\(nextDirection)&lt;SPAN style="color: #c41a16;"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;case&lt;/STRONG&gt;&lt;/SPAN&gt; .&lt;SPAN style="color: #326d74;"&gt;reached&lt;/SPAN&gt;:&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; status.&lt;/SPAN&gt;remainingDestinationCount&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #6c36a9;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #1c00cf;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #c41a16; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText = &lt;/SPAN&gt;"Intermediate stop reached, continue to next stop."&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;?.&lt;/SPAN&gt;switchToNextDestination&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;else&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;statusText = &lt;SPAN style="color: #c41a16;"&gt;"Final destination reached."&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;mapView&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;locationDisplay&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;stop&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;default&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;return&lt;/STRONG&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;updateRouteGraphics&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(remaining: status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;remainingGeometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;, traversed: status.&lt;/SPAN&gt;routeProgress&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;traversedGeometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #326d74;"&gt;setStatus&lt;/SPAN&gt;(message: statusText)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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 class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;updateRouteGraphics&lt;/SPAN&gt;(remaining: &lt;SPAN style="color: #1c464a;"&gt;AGSGeometry&lt;/SPAN&gt;?, traversed: &lt;SPAN style="color: #1c464a;"&gt;AGSGeometry&lt;/SPAN&gt;? = &lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;nil&lt;/STRONG&gt;&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeAheadGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;geometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = remaining&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTraveledGraphic&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;.&lt;/SPAN&gt;geometry&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; = traversed&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/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 style="color: #4a5560; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #5d6c79;"&gt;// MARK:&lt;/SPAN&gt;&lt;STRONG&gt; - AGSLocationChangeHandlerDelegate&lt;/STRONG&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;/P&gt;&lt;P style="color: #1c464a; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;extension&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt; &lt;/SPAN&gt;NavigateRouteViewController&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;: &lt;/SPAN&gt;AGSLocationChangeHandlerDelegate&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&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 class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;func&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0f68a0;"&gt;locationDataSource&lt;/SPAN&gt;(&lt;SPAN style="color: #9b2393;"&gt;&lt;STRONG&gt;_&lt;/STRONG&gt;&lt;/SPAN&gt; locationDataSource: &lt;SPAN style="color: #1c464a;"&gt;AGSLocationDataSource&lt;/SPAN&gt;, locationDidChange location: &lt;SPAN style="color: #1c464a;"&gt;AGSLocation&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P style="color: #5d6c79; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// Update the tracker location with the new location from the simulated data source.&lt;/P&gt;&lt;P style="color: #326d74; background-color: #ffffff; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;routeTracker&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;?.&lt;/SPAN&gt;trackLocation&lt;SPAN style="color: rgba(0, 0, 0, 0.85);"&gt;(location)&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 class=""&gt;&amp;nbsp; &amp;nbsp; &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;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2020 05:46:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/567158#M4879</guid>
      <dc:creator>AfrozAlam</dc:creator>
      <dc:date>2020-10-08T05:46:36Z</dc:date>
    </item>
    <item>
      <title>Re: navigation</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/1026491#M6930</link>
      <description>&lt;P&gt;In the sample code you need to set the routeTracker.delegate = self. this is done in the setNavigation function.&amp;nbsp; I don't see where you are using a AGSRouteTrackerLocationDataSource. In the didsolveRoute you should take you&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; routeTrackerLocationDataSource = &lt;SPAN class="s2"&gt;AGSRouteTrackerLocationDataSource&lt;/SPAN&gt;(routeTracker: routeTracker, locationDataSource: mockDataSource)&lt;/P&gt;&lt;P class="p1"&gt;and then assign this data source to the mapView locationDisplay&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;mapView&lt;/SPAN&gt;.&lt;SPAN class="s1"&gt;locationDisplay&lt;/SPAN&gt;.&lt;SPAN class="s1"&gt;dataSource&lt;/SPAN&gt; = routeTrackerLocationDataSource&lt;/P&gt;</description>
      <pubDate>Fri, 12 Feb 2021 22:01:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/navigation/m-p/1026491#M6930</guid>
      <dc:creator>JayBowman12</dc:creator>
      <dc:date>2021-02-12T22:01:01Z</dc:date>
    </item>
  </channel>
</rss>

