There are ways to do that but I'm not sure if those are any cleaner solutions.
Another solution that you might want to think is to abstract the interaction with a map into MapService class that encapsulates behavior from the map that it is bound. This way you can also quite easily manage the click events from the view models and provide same action executed in several handlers. This is an approach that I have used when I have had to support both mouse and touch actions. Basically the MapService class manages the event handler jungle and makes sure that only one action is enabled at one time when user interacts with a map. This solution also works when you have modular application that doesn't have direct reference to the module where map is run. It also enables you to mock the behavior of the map if you are using automated tests. If you make sure that the reference is not published from the MapService and it is for example inject as a IMapService through Dependency Injection, you can retour your actions without working directly with map. Another way to hook your Map to MapService is to provide binding extension as a attached property.
If the description wasn't good enough, I blame the beer.