<?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: Geocoder - render a point on the map once result is selected in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89780#M2067</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This example "&lt;/SPAN&gt;&lt;A href="http://resources.arcgis.com/en/help/flex-api/samples/01nq/01nq00000068000000.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;Geocode an address&lt;/A&gt;&lt;SPAN&gt;" and function &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;onResult()&lt;/SPAN&gt;&lt;SPAN&gt;, where map pans to first candidate in results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the same sample with some changes and function &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;showCandidateOnMap()&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"&amp;gt;
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout paddingBottom="15"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingLeft="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingRight="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingTop="15"/&amp;gt;
 &amp;lt;/s:layout&amp;gt;
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.LocatorEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.MapMouseEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.geometry.MapPoint;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.AddressCandidate;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.AddressToLocationsParameters;
&amp;nbsp;&amp;nbsp; import com.esri.ags.utils.WebMercatorUtil;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import flashx.textLayout.conversion.TextConverter;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.collections.ArrayList;
&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder;
&amp;nbsp;&amp;nbsp; import mx.utils.StringUtil;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import spark.events.GridEvent;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; [Bindable]
&amp;nbsp;&amp;nbsp; private var lastFoundAddreses:ArrayList = new ArrayList();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function onMapClick(event:MapMouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; locateTask.locationToAddress(event.mapPoint, 100);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function onLocationToAddressComplete(event:LocatorEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var candidate:AddressCandidate = event.addressCandidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (candidate)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(candidate);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("This location does not have a known street address.");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function doFind():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var params:AddressToLocationsParameters = new AddressToLocationsParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp; params.address = { "StreetName": onelineaddress.text, City: "Helsinki", Country: "Finland" }; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; params.outFields = ["*"]; //all
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Use outFields to get back extra information
&amp;nbsp;&amp;nbsp;&amp;nbsp; // The exact fields available depends on the specific Locator used.
&amp;nbsp;&amp;nbsp;&amp;nbsp; locateTask.outSpatialReference = myMap.spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp; locateTask.addressToLocations(params, new AsyncResponder(onResultFunction, onFaultFunction));
&amp;nbsp;&amp;nbsp;&amp;nbsp; function onResultFunction(candidates:Array, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (candidates.length &amp;gt; 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.removeAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var infoHtmlString:String = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var indexer:int = 0; indexer &amp;lt; candidates.length; indexer++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var nextCandidate:AddressCandidate = candidates[indexer];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nextCandidate &amp;amp;&amp;amp; nextCandidate.address &amp;amp;&amp;amp; nextCandidate.location &amp;amp;&amp;amp; nextCandidate.score &amp;amp;&amp;amp; nextCandidate.score &amp;gt; 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.candidate = nextCandidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.address = StringUtil.substitute("{0}; score is &amp;gt;&amp;gt;&amp;gt; {1}", nextCandidate.address.toString(), nextCandidate.score.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.coords = StringUtil.substitute("X={0}, Y={1}", nextCandidate.location.x.toFixed(0), nextCandidate.location.y.toFixed(0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.geometry = nextCandidate.location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.addItem(obj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var addressCandidate:AddressCandidate = candidates[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(addressCandidate);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Sorry, couldn't find a location for this address"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + "\nAddress: " + onelineaddress.text);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; function onFaultFunction(info:Object, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Failure: \n" + info.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function showCandidateOnMap(candidate:AddressCandidate):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var address:Object = candidate.address;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var candidateMapPoint:MapPoint = candidate.location;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (candidateMapPoint.spatialReference.wkid != myMap.spatialReference.wkid)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; candidateMapPoint = WebMercatorUtil.geographicToWebMercator(candidate.location) as MapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; var myGraphic:Graphic = new Graphic(candidateMapPoint, mySymbol, address);
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphic.id = "graphic";
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.add(myGraphic);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var htmlText:String = "&amp;lt;b&amp;gt;Address:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (address.hasOwnProperty("Address"))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlText += address.Address.toString() + "&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (address.hasOwnProperty("StreetName"))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlText += address.StreetName.toString() + "&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlText += address.toString() + "&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; textArea.textFlow = TextConverter.importToFlow(htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);
&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.infoWindow.label = "Geocode an Address";
&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.infoWindow.show(myGraphic.geometry as MapPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.centerAt(myGraphic.geometry as MapPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lastFoundAddreses != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedLastFoundAddress:ArrayList = new ArrayList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var ind:int = 0; ind &amp;lt; lastFoundAddreses.length; ind++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object = lastFoundAddreses.getItemAt(ind);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var objPoint:MapPoint = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dX:Number = objPoint.x-candidateMapPoint.x;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dY:Number = objPoint.y-candidateMapPoint.y;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var half:Number = 0.5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var distance:Number = Math.pow((Math.pow(dX, 2) + Math.pow(dY, 2)), half);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var distanceToPoint:String = StringUtil.substitute(" ~ {0} m", distance.toFixed(0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedObj:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.address = obj.address;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance = obj.distance;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance2 = distanceToPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.geometry = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.coords = obj.coords;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.candidate = obj.candidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedLastFoundAddress.addItem(updatedObj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.removeAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.addAll(updatedLastFoundAddress);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function myMap_mouseMoveHandler(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var currentMousePoint:MapPoint = myMap.toMapFromStage(event.stageX, event.stageY);
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lastFoundAddreses != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedLastFoundAddress:ArrayList = new ArrayList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var ind:int = 0; ind &amp;lt; lastFoundAddreses.length; ind++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object = lastFoundAddreses.getItemAt(ind);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var objPoint:MapPoint = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dX:Number = objPoint.x-currentMousePoint.x;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dY:Number = objPoint.y-currentMousePoint.y;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var half:Number = 0.5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var distance:Number = Math.pow((Math.pow(dX, 2) + Math.pow(dY, 2)), half);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedDistance:String = StringUtil.substitute("~ {0} m", distance.toFixed(0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedObj:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.address = obj.address;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.geometry = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.coords = obj.coords;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance2 = obj.distance2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance = updatedDistance;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.candidate = obj.candidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedLastFoundAddress.addItem(updatedObj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.removeAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.addAll(updatedLastFoundAddress);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function lastFoundGrid_gridClickHandler(event:GridEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lastFoundGrid.selectedItem != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var selectedCandidate:AddressCandidate = lastFoundGrid.selectedItem.candidate as AddressCandidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (selectedCandidate != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(selectedCandidate);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
 &amp;lt;fx:Declarations&amp;gt;
&amp;nbsp; &amp;lt;esri:Locator id="locateTask"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; concurrency="last"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; locationToAddressComplete="onLocationToAddressComplete(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://tasks.arcgisonline.com/ArcGIS/rest/services/Locators/TA_Address_EU/GeocodeServer"/&amp;gt;
&amp;nbsp; &amp;lt;esri:SimpleMarkerSymbol id="mySymbol"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alpha="0.5"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color="0xFF0000"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size="19"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; style="circle"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:SimpleLineSymbol width="2"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:SimpleMarkerSymbol&amp;gt;
 &amp;lt;/fx:Declarations&amp;gt;
 
 &amp;lt;s:Label fontSize="12"
&amp;nbsp;&amp;nbsp;&amp;nbsp; fontWeight="bold"
&amp;nbsp;&amp;nbsp;&amp;nbsp; text="Click on map to obtain the address of a location."/&amp;gt;
 &amp;lt;esri:Map id="myMap"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapClick="onMapClick(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mouseMove="myMap_mouseMoveHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; openHandCursorVisible="false"&amp;gt;
&amp;nbsp; &amp;lt;esri:extent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:Extent xmin="2730524.567128713" xmax="2826835.222767905" ymin="8425522.38792159" ymax="8477346.69309887"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:extent&amp;gt;
&amp;nbsp; &amp;lt;esri:infoWindowContent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:TextArea id="textArea"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; editable="false"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; heightInLines="4"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:infoWindowContent&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/&amp;gt;
&amp;nbsp; &amp;lt;esri:GraphicsLayer id="myGraphicsLayer"/&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 
 &amp;lt;s:Panel width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp; top="5"
&amp;nbsp;&amp;nbsp;&amp;nbsp; horizontalCenter="0"
&amp;nbsp;&amp;nbsp;&amp;nbsp; title="Find an address"&amp;gt;
&amp;nbsp; &amp;lt;s:layout&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/&amp;gt;
&amp;nbsp; &amp;lt;/s:layout&amp;gt;
&amp;nbsp; &amp;lt;!-- Single line geocode --&amp;gt;
&amp;nbsp; &amp;lt;s:TextInput id="onelineaddress"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width="95%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enter="doFind()"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text="Koskelantie 5"/&amp;gt;
&amp;nbsp; &amp;lt;s:Button click="doFind()" label="Find Address"/&amp;gt;
&amp;nbsp; &amp;lt;s:DataGrid id="lastFoundGrid"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gridClick="lastFoundGrid_gridClickHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataProvider="{lastFoundAddreses}"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:columns&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ArrayList&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="address" headerText="Address"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="distance" headerText="Distance to cursor" width="200"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="distance2" headerText="Distance to last clicked" width="200"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="coords" headerText="Coordinates" width="200"/&amp;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;&amp;nbsp; &amp;lt;/s:ArrayList&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:columns&amp;gt;
&amp;nbsp; &amp;lt;/s:DataGrid&amp;gt;
 &amp;lt;/s:Panel&amp;gt;
&amp;lt;/s:Application&amp;gt;
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S. SDK 4.6, API 3.1 release 12.12.2012&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 23:25:50 GMT</pubDate>
    <dc:creator>IvanBespalov</dc:creator>
    <dc:date>2021-12-10T23:25:50Z</dc:date>
    <item>
      <title>Geocoder - render a point on the map once result is selected</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89779#M2066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to get a graphic to render once a result has been selected from the new geocoder functionality in the latest Flex API. When the result is selected, the map pans to it's location - I would like to have a point shown where this is?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help scripting this would be appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Karl&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 09:50:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89779#M2066</guid>
      <dc:creator>KarlBarker-Ottley</dc:creator>
      <dc:date>2013-04-15T09:50:19Z</dc:date>
    </item>
    <item>
      <title>Re: Geocoder - render a point on the map once result is selected</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89780#M2067</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This example "&lt;/SPAN&gt;&lt;A href="http://resources.arcgis.com/en/help/flex-api/samples/01nq/01nq00000068000000.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;Geocode an address&lt;/A&gt;&lt;SPAN&gt;" and function &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;onResult()&lt;/SPAN&gt;&lt;SPAN&gt;, where map pans to first candidate in results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the same sample with some changes and function &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;showCandidateOnMap()&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"&amp;gt;
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout paddingBottom="15"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingLeft="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingRight="10"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingTop="15"/&amp;gt;
 &amp;lt;/s:layout&amp;gt;
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.LocatorEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.MapMouseEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.geometry.MapPoint;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.AddressCandidate;
&amp;nbsp;&amp;nbsp; import com.esri.ags.tasks.supportClasses.AddressToLocationsParameters;
&amp;nbsp;&amp;nbsp; import com.esri.ags.utils.WebMercatorUtil;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import flashx.textLayout.conversion.TextConverter;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.collections.ArrayList;
&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp; import mx.rpc.AsyncResponder;
&amp;nbsp;&amp;nbsp; import mx.utils.StringUtil;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import spark.events.GridEvent;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; [Bindable]
&amp;nbsp;&amp;nbsp; private var lastFoundAddreses:ArrayList = new ArrayList();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function onMapClick(event:MapMouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; locateTask.locationToAddress(event.mapPoint, 100);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function onLocationToAddressComplete(event:LocatorEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var candidate:AddressCandidate = event.addressCandidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (candidate)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(candidate);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("This location does not have a known street address.");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function doFind():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var params:AddressToLocationsParameters = new AddressToLocationsParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp; params.address = { "StreetName": onelineaddress.text, City: "Helsinki", Country: "Finland" }; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; params.outFields = ["*"]; //all
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Use outFields to get back extra information
&amp;nbsp;&amp;nbsp;&amp;nbsp; // The exact fields available depends on the specific Locator used.
&amp;nbsp;&amp;nbsp;&amp;nbsp; locateTask.outSpatialReference = myMap.spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp; locateTask.addressToLocations(params, new AsyncResponder(onResultFunction, onFaultFunction));
&amp;nbsp;&amp;nbsp;&amp;nbsp; function onResultFunction(candidates:Array, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (candidates.length &amp;gt; 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.removeAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var infoHtmlString:String = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var indexer:int = 0; indexer &amp;lt; candidates.length; indexer++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var nextCandidate:AddressCandidate = candidates[indexer];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nextCandidate &amp;amp;&amp;amp; nextCandidate.address &amp;amp;&amp;amp; nextCandidate.location &amp;amp;&amp;amp; nextCandidate.score &amp;amp;&amp;amp; nextCandidate.score &amp;gt; 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.candidate = nextCandidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.address = StringUtil.substitute("{0}; score is &amp;gt;&amp;gt;&amp;gt; {1}", nextCandidate.address.toString(), nextCandidate.score.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.coords = StringUtil.substitute("X={0}, Y={1}", nextCandidate.location.x.toFixed(0), nextCandidate.location.y.toFixed(0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.geometry = nextCandidate.location;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.addItem(obj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var addressCandidate:AddressCandidate = candidates[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(addressCandidate);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Sorry, couldn't find a location for this address"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + "\nAddress: " + onelineaddress.text);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; function onFaultFunction(info:Object, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Failure: \n" + info.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function showCandidateOnMap(candidate:AddressCandidate):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var address:Object = candidate.address;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var candidateMapPoint:MapPoint = candidate.location;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (candidateMapPoint.spatialReference.wkid != myMap.spatialReference.wkid)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; candidateMapPoint = WebMercatorUtil.geographicToWebMercator(candidate.location) as MapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; var myGraphic:Graphic = new Graphic(candidateMapPoint, mySymbol, address);
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphic.id = "graphic";
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.add(myGraphic);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var htmlText:String = "&amp;lt;b&amp;gt;Address:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (address.hasOwnProperty("Address"))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlText += address.Address.toString() + "&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (address.hasOwnProperty("StreetName"))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlText += address.StreetName.toString() + "&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlText += address.toString() + "&amp;lt;br&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; textArea.textFlow = TextConverter.importToFlow(htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);
&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.infoWindow.label = "Geocode an Address";
&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.infoWindow.show(myGraphic.geometry as MapPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.centerAt(myGraphic.geometry as MapPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lastFoundAddreses != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedLastFoundAddress:ArrayList = new ArrayList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var ind:int = 0; ind &amp;lt; lastFoundAddreses.length; ind++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object = lastFoundAddreses.getItemAt(ind);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var objPoint:MapPoint = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dX:Number = objPoint.x-candidateMapPoint.x;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dY:Number = objPoint.y-candidateMapPoint.y;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var half:Number = 0.5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var distance:Number = Math.pow((Math.pow(dX, 2) + Math.pow(dY, 2)), half);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var distanceToPoint:String = StringUtil.substitute(" ~ {0} m", distance.toFixed(0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedObj:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.address = obj.address;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance = obj.distance;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance2 = distanceToPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.geometry = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.coords = obj.coords;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.candidate = obj.candidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedLastFoundAddress.addItem(updatedObj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.removeAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.addAll(updatedLastFoundAddress);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function myMap_mouseMoveHandler(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var currentMousePoint:MapPoint = myMap.toMapFromStage(event.stageX, event.stageY);
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lastFoundAddreses != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedLastFoundAddress:ArrayList = new ArrayList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var ind:int = 0; ind &amp;lt; lastFoundAddreses.length; ind++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object = lastFoundAddreses.getItemAt(ind);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var objPoint:MapPoint = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dX:Number = objPoint.x-currentMousePoint.x;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dY:Number = objPoint.y-currentMousePoint.y;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var half:Number = 0.5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var distance:Number = Math.pow((Math.pow(dX, 2) + Math.pow(dY, 2)), half);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedDistance:String = StringUtil.substitute("~ {0} m", distance.toFixed(0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var updatedObj:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.address = obj.address;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.geometry = obj.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.coords = obj.coords;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance2 = obj.distance2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.distance = updatedDistance;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedObj.candidate = obj.candidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updatedLastFoundAddress.addItem(updatedObj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.removeAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lastFoundAddreses.addAll(updatedLastFoundAddress);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function lastFoundGrid_gridClickHandler(event:GridEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lastFoundGrid.selectedItem != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var selectedCandidate:AddressCandidate = lastFoundGrid.selectedItem.candidate as AddressCandidate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (selectedCandidate != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(selectedCandidate);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
 &amp;lt;fx:Declarations&amp;gt;
&amp;nbsp; &amp;lt;esri:Locator id="locateTask"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; concurrency="last"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; locationToAddressComplete="onLocationToAddressComplete(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://tasks.arcgisonline.com/ArcGIS/rest/services/Locators/TA_Address_EU/GeocodeServer"/&amp;gt;
&amp;nbsp; &amp;lt;esri:SimpleMarkerSymbol id="mySymbol"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alpha="0.5"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color="0xFF0000"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size="19"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; style="circle"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:SimpleLineSymbol width="2"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:SimpleMarkerSymbol&amp;gt;
 &amp;lt;/fx:Declarations&amp;gt;
 
 &amp;lt;s:Label fontSize="12"
&amp;nbsp;&amp;nbsp;&amp;nbsp; fontWeight="bold"
&amp;nbsp;&amp;nbsp;&amp;nbsp; text="Click on map to obtain the address of a location."/&amp;gt;
 &amp;lt;esri:Map id="myMap"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapClick="onMapClick(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mouseMove="myMap_mouseMoveHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; openHandCursorVisible="false"&amp;gt;
&amp;nbsp; &amp;lt;esri:extent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:Extent xmin="2730524.567128713" xmax="2826835.222767905" ymin="8425522.38792159" ymax="8477346.69309887"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:extent&amp;gt;
&amp;nbsp; &amp;lt;esri:infoWindowContent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:TextArea id="textArea"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; editable="false"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; heightInLines="4"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:infoWindowContent&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/&amp;gt;
&amp;nbsp; &amp;lt;esri:GraphicsLayer id="myGraphicsLayer"/&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 
 &amp;lt;s:Panel width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp; top="5"
&amp;nbsp;&amp;nbsp;&amp;nbsp; horizontalCenter="0"
&amp;nbsp;&amp;nbsp;&amp;nbsp; title="Find an address"&amp;gt;
&amp;nbsp; &amp;lt;s:layout&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/&amp;gt;
&amp;nbsp; &amp;lt;/s:layout&amp;gt;
&amp;nbsp; &amp;lt;!-- Single line geocode --&amp;gt;
&amp;nbsp; &amp;lt;s:TextInput id="onelineaddress"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width="95%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enter="doFind()"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text="Koskelantie 5"/&amp;gt;
&amp;nbsp; &amp;lt;s:Button click="doFind()" label="Find Address"/&amp;gt;
&amp;nbsp; &amp;lt;s:DataGrid id="lastFoundGrid"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gridClick="lastFoundGrid_gridClickHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataProvider="{lastFoundAddreses}"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;s:columns&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ArrayList&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="address" headerText="Address"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="distance" headerText="Distance to cursor" width="200"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="distance2" headerText="Distance to last clicked" width="200"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:GridColumn dataField="coords" headerText="Coordinates" width="200"/&amp;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;&amp;nbsp; &amp;lt;/s:ArrayList&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;lt;/s:columns&amp;gt;
&amp;nbsp; &amp;lt;/s:DataGrid&amp;gt;
 &amp;lt;/s:Panel&amp;gt;
&amp;lt;/s:Application&amp;gt;
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S. SDK 4.6, API 3.1 release 12.12.2012&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 23:25:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89780#M2067</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2021-12-10T23:25:50Z</dc:date>
    </item>
    <item>
      <title>Re: Geocoder - render a point on the map once result is selected</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89781#M2068</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;For new geocoder component, you must listen its events, to access results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pageTitle="Geocoder Component Sample"&amp;gt;
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.GeocoderEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.geometry.Geometry;
&amp;nbsp;&amp;nbsp; import com.esri.ags.symbols.SimpleFillSymbol;
&amp;nbsp;&amp;nbsp; import com.esri.ags.symbols.SimpleMarkerSymbol;
&amp;nbsp;&amp;nbsp; import com.esri.ags.symbols.Symbol;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.controls.Alert;
&amp;nbsp;&amp;nbsp; import mx.rpc.events.FaultEvent;

&amp;nbsp;&amp;nbsp; protected function onGeocoderResultSelected(event:GeocoderEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var symbol:Symbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 24, 0xFF0000);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var gr:Graphic = new Graphic(event.result.geometry, symbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp; gr.toolTip = event.result.label + "\n(" + event.result.sourceName + ")";
&amp;nbsp;&amp;nbsp;&amp;nbsp; gLayer.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp; gLayer.add(gr);
&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp; protected function onGeocoderFault(event:FaultEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(event.message.toString(), "Geocoder fault");
&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp; protected function onGeocoderSearchComplete(event:GeocoderEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // do something
&amp;nbsp;&amp;nbsp; }

&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
 &amp;lt;esri:Map id="map"&amp;gt;
&amp;nbsp; &amp;lt;esri:extent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:WebMercatorExtent xmin="-20119163" ymin="1160734" xmax="-1333999" ymax="10416341"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:extent&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer/&amp;gt;
&amp;nbsp; &amp;lt;esri:GraphicsLayer id="gLayer" /&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 
 &amp;lt;esri:Geocoder width="300" height="30"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; horizontalCenter="0"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map="{map}"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resultSelected="onGeocoderResultSelected(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault="onGeocoderFault(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchComplete="onGeocoderSearchComplete(event)" /&amp;gt;
&amp;lt;/s:Application&amp;gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S. SDK 4.6, API 3.2 release 19.03.2013&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 16:00:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoder-render-a-point-on-the-map-once-result-is/m-p/89781#M2068</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2021-12-12T16:00:27Z</dc:date>
    </item>
  </channel>
</rss>

