That could be solved with a new feature: 'NEAR ME'.
We can setup the distance in the backend settings, and once the visitor hits that button (NEAR ME), they will see all the business around his actual position as far as the value we established in the backend settings before.
About the different kind of restaurant in the category 'restaurants'. We can just assign different markers to the different establishments inside the same category, and use a generic marker for that category. If the establishment is not using any icon, then it will grab the generic one from the category.
Definitely I am agree with you Daniel, it's better search for whatever I am looking for than been trying to find the right category.
Any establishment can have their own keywords, and once you search using those keywords, that establishment will pop up on the map. A Mexican Restaurant will be attached to the keywords 'mexican mejico mexico cuisine taco', and if someone is searching for a mexican restaurant using the keywords 'mexican restaurant', all mexican restaurants will be on the map.