<?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: Geocoding and getting better address location score in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226601#M5322</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tracy, I'm using ESRI's North America 10 address locator just like in their sample geocode here on the resource center.&amp;nbsp; I tried using some of the others with no luck.&amp;nbsp; If it is in fact giving me the best possible match then their matching algorithm is horrible as I get a Jefferson Ave. everytime I enter Jefferson Street.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks ibespalov for the code!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 Apr 2012 11:52:58 GMT</pubDate>
    <dc:creator>ThomasMcCracken</dc:creator>
    <dc:date>2012-04-04T11:52:58Z</dc:date>
    <item>
      <title>Geocoding and getting better address location score</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226598#M5319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Afternoon everyone in ESRI Flex API land,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm having a little trouble getting a better match to come up in my geocoding.&amp;nbsp; I'm trying to add a for loop to the code like below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for(i=0; addressCandidate.score&amp;gt;80, i=10; i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (candidates.length &amp;gt; 0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var addressCandidate:AddressCandidate = candidates[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var myGraphic:Graphic = new Graphic();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried several variations of this loop with the candidates array and putting it within the if statement but no luck.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Basically I just want to add a loop to go through all the potential address matches until a score of 80 is reached on the match and then continue with the rest of the Geocoding function found in the API Samples for geocoding.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyone attempted to do this and have any luck?&amp;nbsp; Care to share some code with me??????? =D&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thomas McCracken&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GIS Analyst&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Georgia Power Company&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Apr 2012 19:27:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226598#M5319</guid>
      <dc:creator>ThomasMcCracken</dc:creator>
      <dc:date>2012-04-03T19:27:28Z</dc:date>
    </item>
    <item>
      <title>Re: Geocoding and getting better address location score</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226599#M5320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Are you using your own locator or one from ESRI?&amp;nbsp; I have found that some of the ESRI locators are better about having the best match returned first.&amp;nbsp; Others are pretty sloppy.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Apr 2012 20:20:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226599#M5320</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2012-04-03T20:20:04Z</dc:date>
    </item>
    <item>
      <title>Re: Geocoding and getting better address location score</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226600#M5321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thomas,&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;private const ADDRESS_FROM_LOCATION:uint = 0x1; private const ADDRESS_TO_LOCATION: uint = 0x2;&amp;nbsp; private function findNearestAddress(location:MapPoint, distance:Number):void {&amp;nbsp; var token:Object = { type: ADDRESS_FROM_LOCATION };&amp;nbsp; locateTask.locationToAddress(location,&amp;nbsp; &amp;nbsp; distance,&amp;nbsp; &amp;nbsp; new AsyncResponder(onLocateTaskResult, onLocateTaskFault, token));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; private function executeLocatorTask(address:String):void {&amp;nbsp; // search attributes { Attribute1: "attribute value", Attribute2: "attribute value"}&amp;nbsp; // defined in/by geocode service as request parameters&amp;nbsp; var token:Object = { type: ADDRESS_TO_LOCATION };&amp;nbsp; var addressObj:Object = { StreetName: address };&amp;nbsp; var outFields:Array = [ "*" ];&amp;nbsp; locateTask.outSpatialReference = map.spatialReference;&amp;nbsp; locateTask.addressToLocations(addressObj,&amp;nbsp; &amp;nbsp; outFields,&amp;nbsp; &amp;nbsp; new AsyncResponder(onLocateTaskResult, onLocateTaskFault, token)); }&amp;nbsp; protected function onLocateTaskResult(result:*, token:Object = null):void {&amp;nbsp; var candidates:Array = null;&amp;nbsp; var addressCandidate:AddressCandidate = null; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result is Array)&amp;nbsp; { &amp;nbsp; candidates = result as Array;&amp;nbsp; }&amp;nbsp; else if (result is AddressCandidate)&amp;nbsp; { &amp;nbsp; addressCandidate = result as AddressCandidate;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (token != null &amp;amp;&amp;amp; token.type != null)&amp;nbsp; { &amp;nbsp; switch (token.type) &amp;nbsp; { &amp;nbsp;&amp;nbsp; case ADDRESS_TO_LOCATION: &amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; var bestCandidates:Array = findBestScoredCandidates(candidates); &amp;nbsp;&amp;nbsp;&amp;nbsp; var suitableCandidates:Array = findSuitableCandidates(candidates, 80); &amp;nbsp;&amp;nbsp;&amp;nbsp; break; &amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp; case ADDRESS_FROM_LOCATION: &amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; showCandidateOnMap(addressCandidate); &amp;nbsp;&amp;nbsp;&amp;nbsp; break; &amp;nbsp;&amp;nbsp; } &amp;nbsp; }&amp;nbsp; } } &amp;nbsp;&amp;nbsp;&amp;nbsp; protected function onLocateTaskFault(info:Object, token:Object = null):void {&amp;nbsp; trace(StringUtil.substitute("Error\n&amp;gt;&amp;gt;&amp;gt;\n{0}", info.toString())); }&amp;nbsp; private function showCandidateOnMap(candidate:AddressCandidate):void {&amp;nbsp; myGraphicsLayer.clear(); //&amp;nbsp;&amp;nbsp; var address:Object = candidate.address;&amp;nbsp; var candidateMapPoint:MapPoint = candidate.location;&amp;nbsp; if (candidateMapPoint.spatialReference.wkid != myMap.spatialReference.wkid)&amp;nbsp; { &amp;nbsp; candidateMapPoint = WebMercatorUtil.geographicToWebMercator(candidate.location) as MapPoint;&amp;nbsp; }&amp;nbsp; var myGraphic:Graphic = new Graphic(candidateMapPoint, mySymbol, address);&amp;nbsp; myGraphic.toolTip = address.Address.toString();&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.add(myGraphic); }&amp;nbsp; private function findBestScoredCandidates(candidates:Array):Array {&amp;nbsp; if (candidates != null)&amp;nbsp; { &amp;nbsp; if (candidates.length &amp;gt; 0) &amp;nbsp; { &amp;nbsp;&amp;nbsp; var bestScore:Number = 0; &amp;nbsp;&amp;nbsp; var bestScoredCandidates:Array = new Array();&amp;nbsp; &amp;nbsp;&amp;nbsp; for (var index:int; index &amp;lt; candidates.length; index++) &amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; var nextCandidate:AddressCandidate = candidates[index]; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (nextCandidate.score &amp;gt; bestScore) // candidate with better score found &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bestScoredCandidates = new Array(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bestScoredCandidates.push(nextCandidate); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bestScore = nextCandidate.score; &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; else if (nextCandidate.score &amp;gt; bestScore) // candidate with same score found &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bestScoredCandidates.push(nextCandidate); &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&amp;nbsp; &amp;nbsp;&amp;nbsp; return bestScoredCandidates; &amp;nbsp; }&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; return null; }&amp;nbsp; private function findSuitableCandidates(candidates:Array, suitableScore:Number):Array {&amp;nbsp; if (candidates != null)&amp;nbsp; { &amp;nbsp; if (candidates.length &amp;gt; 0) &amp;nbsp; { &amp;nbsp;&amp;nbsp; var suiatableCandidates:Array = new Array();&amp;nbsp; &amp;nbsp;&amp;nbsp; for (var index:int; index &amp;lt; candidates.length; index++) &amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; var nextCandidate:AddressCandidate = candidates[index]; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (nextCandidate.score &amp;gt;= suitableScore) &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suiatableCandidates.push(nextCandidate); &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&amp;nbsp; &amp;nbsp;&amp;nbsp; return suiatableCandidates; &amp;nbsp; }&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; return null; }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, as I remember Location Service has alot of configurations on server side, so you can try sort, filter ... results on server.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Apr 2012 10:30:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226600#M5321</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2012-04-04T10:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: Geocoding and getting better address location score</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226601#M5322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tracy, I'm using ESRI's North America 10 address locator just like in their sample geocode here on the resource center.&amp;nbsp; I tried using some of the others with no luck.&amp;nbsp; If it is in fact giving me the best possible match then their matching algorithm is horrible as I get a Jefferson Ave. everytime I enter Jefferson Street.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks ibespalov for the code!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Apr 2012 11:52:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/geocoding-and-getting-better-address-location/m-p/226601#M5322</guid>
      <dc:creator>ThomasMcCracken</dc:creator>
      <dc:date>2012-04-04T11:52:58Z</dc:date>
    </item>
  </channel>
</rss>

