Locator Geocode Result Returns Different Result - SuggestResult vs String?

11-11-2019 07:51 AM
Occasional Contributor II

Let me lay out a scenario, you have street address centerline and address point layers for Generic County, IL.  You create a locator (I've been referring to them as "new style locators" that can only be created with ArcGIS Pro, we really need an official term for them) with an Point Address role and a Street Address role.

User enters 265 Main St.  This exists both as an address point, and a street address in a range (200-300 Main St, Springfield).  The values in the centerline file and the address point file match exactly, so the Suggestor is only going to show one entry (as it should, the user shouldn't need to pick one if they represent basically the same thing (of course it's not the same exact thing, but that's another discussion)).  Obviously, if a county has address point data, they're going to want to use that if an address matches, and fall back to the centerline if there's no exact address point.

When you pass in a SuggestResult of 265 Main St, Springfield, it seems to only be pulling the StreetAddress.  When you pass in the text of this same exact SuggestResult (I'm literally using SuggestResult.Label), I get two results in the order expected (PointAddress then StreetAddress).  Any ideas?

Sorry if this post seems erratic, I initially was suggesting there was a problem with the suggest behavior when I realized that suggest does nothing but returns text suggestions, nothing related to location coordinates or what type of feature it is.  Now seems to be an issue with the Geocode overload.

For reference:

ArcGIS Runtime 100.6 (WPF)

ArcGIS Pro 2.4.2

Local file Locator embedded in MMPK

0 Kudos
1 Reply
Occasional Contributor II

Just wondering here, the obvious answer seems to be "use strings instead of SuggestResults", but obviously I'd like some clarification on why the overload exists, and what the difference between the two is.  My assumption would be that the SuggestResult overload is for convenience, and under the hood it would use the string equivalent anyway, but clearly that doesn't seem to be the case.

0 Kudos