Many of them use Google Maps (I believe Bing/Microsoft have a similar offering).
Show Your Data on Google Map using C# and JavaScript[
^].
As you will see that article uses Lat./Long. so you need something to translate from a postal code to Lat/Long.
This[
^] article claims to have code that will do that (I haven't tried it).
Then all you need is an enormous database of restaurants/amenities filterable by country, postcode and category. I have no doubt that such services exist somewhere out there and I also have no doubt that most of them charge for use.
The first two links should get you started though and you'll probably get some hints about the last part as you research stuff for those.