AnsweredAssumed Answered

Composite Locator returns no results

Question asked by SolomonP on Feb 23, 2014
Latest reply on Feb 25, 2014 by SolomonP
Ive implemented a composite locator package but I always get "No results". When I pass in one of the individual locators as a package, I do get a valid search result. What am I doing wrong?

The code below is from the sdk geocoding sample

 LocalGeocodeService.GetServiceAsync("E:\\2_Prototype 1\\CompositeLocator.gcpk", "CompositeLocator", (gs) =>                          {                 if (gs.Error != null)                 {                     MessageBox.Show(gs.Error.Message);                 }                 if (gs.Status == LocalServiceStatus.Running)                 {                     _localGeocodeService = gs;                      IsBusy = false;                 }             });   private void SearchTextBox_KeyDown(object sender, KeyEventArgs e)         {             if (e.Key == Key.Return)             {                 IsBusy = true;                 string searchText = SearchTextBox.Text;                 Locator locatorTask = new Locator(_localGeocodeService.UrlGeocodeService);                 locatorTask.AddressToLocationsCompleted += (object sender1, AddressToLocationsEventArgs args) =>                 {                     if (args.Results.Count > 0)                     {                         AddressCandidate bestCandidate = args.Results[0];                         foreach (AddressCandidate candidate in args.Results)                             bestCandidate = (candidate.Score > bestCandidate.Score) ? candidate : bestCandidate;                          MapPoint geographicPoint = new MapPoint(bestCandidate.Location.X, bestCandidate.Location.Y, new SpatialReference(4326));                          Graphic graphic = new Graphic()                         {                             Geometry = geographicPoint,                             Symbol = SearchBarGrid.Resources["FlagMarkerSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol,                         };                         _locationGraphicsLayer.Graphics.Clear();                         _locationGraphicsLayer.Graphics.Add(graphic);                         IsBusy = false;                     }                     else                     {                         MessageBox.Show("No results found");                         IsBusy = false;                     }                 };                  locatorTask.Failed += (s2, e2) =>                 {                     MessageBox.Show("Geocode failed with error: " + e2.Error.Message);                 };                  AddressToLocationsParameters addressParameters = new AddressToLocationsParameters();                 Dictionary<string, string> address = addressParameters.Address;                 address.Add("Single Line Input", searchText);                 locatorTask.AddressToLocationsAsync(addressParameters);             }


Thanks for any help.

Outcomes