I am currently working on a project that we are filtering results based on the distance from a given location. e.g Searching for Bristol and it returns locations within a 10 mile radius.
Is there a way to get the distance value for how far away a location is from the search location? e.g Bristol, Bedminster geolocation is 1.76 miles away from Bristol geolocation
Not sure if a Find hit object exposes it but if not you can just use .NET GeoCoordinate.
Thanks for your post. This is what I have implemented so far, was just hoping that there was a way to get it from find itself, as you can sort them by distance.
Found this post while also searching for the same answer. There is now a GeoCoordinate class in the Episerver.Personalization namespace that has a GetDistanceTo method. Unfortunately the types are mismatched, but you can do the following (in long hand for clarity):
const double MetersToMilesRatio = 0.00062137;var currentLocation = new GeoCoordinate(geo.Latitude, geo.Longitude);var toLocation = new GeoCoordinate(x.Latitude, x.Longitude);var distance = Math.Round(currentLocation.GetDistanceTo(toLocation) * MetersToMilesRatio, 3);