If think the ga-geolocation directive should be used as a child element of the ga-map directive. This means that the ga-geolocation directive can get a reference to the map by calling getMap on the map directive's controller. Look at the contextmenu directive to see how this is done. Basically:

```
    link: function(scope, element, attrs, gaMapDirectiveCtrl) {
      var map = gaMapDirectiveCtrl.getMap();
      ... 
    }
```