@gjn this may have been solved with transclude:true on the map directive – the scope of the transcluded element (a.k.a. the transclusion scope) is sibling with the directive scope.