Hi Kathryn,
I've developed something similar. I have a SharePoint list with the location name, latitude and longitude. I import this into a collection using:
ClearCollect(Collection1, 'SharePoint List');
From there I add another action to create a second collection with an additional column that calculates the distance between the user and the site:
ClearCollect(Collection2,
AddColumns(Collection2,"Distance",
Acos(Cos(Radians(90-(Value(Latitude)))) *Cos(Radians(90-(Location.Latitude))) +Sin(Radians(90-(Value(Latitude)))) *Sin(Radians(90-(Location.Latitude))) *Cos(Radians((Value(Longitude))-(Location.Longitude)))) *6371))
Using the equation from this website.
"Latitude" and "Longitude" are the column headings for the site locations from Collection1 (i.e. the SharePoint List).
Then I can create a drop down sorted by distance:
Distinct(SortByColumns(Collection2,"Distance"),LocationName)
Hope that helps!