Map based searches are good, but one step further would be to allow the user to geofence the locations they are looking for. When I search for locations on Google, I get a map view that spans from Brooklyn across Manhattan and into New Jersey and the results tend to be scattered across those areas when all I want is Manhattan, including areas somewhat outside of the current view.