I have done this with custom markers for my clients and the solution is not trivial. The trick is to figure out the location and rotation angle for the marker to make it automatic.
An alternative is to make user parameters with dynamic hotspots and adjust them manually but this is a bit tedious.