About the subcategories....
I was one of the fighters against Daniel (talking about subcategories topic) but I ended up being :cool: with his concept
(smart guy this Daniel) ab will give you all the possible results you are looking for. If you search for motorhomes, you will get all postcodes related with motorhomes just right there on the map, and you won't need to look after the subcategory.
Let say you wanna see the trailer from "Transformer". You go to google, or youtube and use the search tab. You are not looking for movies categories, genre subcategories, or actors subcategories, you just typed whatever you are looking for. It's the same concept Daniel is applying to hotspots, the fast way to get the information you are looking for is through the use of a search tab. You can include as many keywords you want in the "Description (Detailpage)" field in Locations(hotspots) backend menu, and the 'search tab results' will show the hotspots on the map.
About the multiple categories from different countries ...
1st solution - Considering that are different countries, we should be using different information, different banners, different designs, and probably different languages. The solution in this case could be create subdomains, and install hotspots individually in each subdomain. In this way, each subdomain will have their own database and tables. You can create a main page where people can select the country they wanna see.
2nd solution - If we are using the same language, the same information, same banners, and same design, we still can use the same map, but we will need to implement MarkerClusterer to clean the view, and we need to implement Polygons and probably KML support, to highlight, in this specific case, the countries in question. People going to your map will see Germany (yellow transparent layer on top), and Austria (red transparent layer on top), with all the MarkerClusterer on top of the countries.
Check MarkerClusters
here
Polygon example #1
here
Check example #2
here
scroll down to the second example