Hi @oliviatatian,
EM user here. 🙂
Your wishes are not possible out-of-the-box, but EM does have loads of hooks and filters. So if you’re not afraid of custom coding, you will find EM to be the most flexible of the many Event Manager Plugins out there. You can hook and filter just about anything. 😉
Currently the search and map display are not linked. This has been requested already, so I trust the official EM Dev Team are working on it. No ETA yet, though.
Events Manager makes a difference between Events and Locations. A location can not have a category (a venue can (often) be used for multiple purposes), but Events do. Basically, you will be displaying your events on a mapped overview, not so much the location. So the single location is secondary. You would probably also not want to show locations with no upcoming events planned, right? Making the event info leading. And yes, EM does allow you to filter events by category, etc. 😉
Here’s an overview, but you can also create your own:
https://wp-events-plugin.com/documentation/event-search-attributes/
Events Manager uses the Google Maps API, so Google delivers the map tiles, markers, balloon fonts, etc. They are taken real-time upon displaying the map. If Google allows you to alter their look and feel, EM will most likely have a hook or filter for it. But I am anything but a Google-fan. LOL. 😀
That is why I have created an open-source Events Manager add-on to replace Google Maps with OpenStreetMap. (https://wordpress.org/plugins/stonehenge-em-osm/) The current version allows you to select the map tiles (6 servers available) and the marker color (8 colors included).
I am currently working a version that will allow users to set those options per location. The use of custom markers will be something for a next phase… 😉
Hope it helps. 🙂