Hi @AlHal2,
You could use the Bing Maps connector and use the GetRoute method to retrieve the traveldistance for all your shops. Based on that you can sort on the smallest travel distance.
Below is an example with Microsoft Stores list from SharePoint:
In this example I am entering a postal code in a text input (in this example the Tower Bridge postal code).
1. In the OnSelect create a new collection DistanceToStores with a new column called distance. The text input is used as waypoint 1, the postal code field from the list item is used as waypoint two.
ClearCollect(DistanceToStores, AddColumns('Microsoft Stores', "Distance", BingMaps.GetRouteV2(TextInput_YourPostcode.Text, 'Visit Address: Postal Code').travelDistance))

2. The gallery is sorted by the new distance column, ascending. The closest shop will be the first in the gallery.
SortByColumns(DistanceToStores, Distance, Ascending)

Hope this helps to get you started?