Im working on maps, in which I need to show nearest locations from the user GEO coordinates. These nearest location should be within 1km or user specified radius. 

Instead of running a query and calculating the distance for all geo coordinates in my DB, I have narrow down my selection by choosing country - state - city. However I still dont find this way is more efficient. 

Could someone suggest me the better way to solve this issue.