Cambio de ruta de ubicación de AngularJs sin reiniciar todos los controladores

La versión corta de mi pregunta es: ¿Cómo cambio la URL sin necesidad de activar el cambio de ruta o sin necesidad de ejecutar todos los controladores en la página que se muestra actualmente?

Detalles:

Tengo una plantilla que se muestra dentro de la<ng-view> Que tiene regiones gobernadas por 3 controladores. En la parte superior de la página tengo un mapa interactivo. Cuando hace clic en las regiones, este difunde un clic y otro componente lo recoge y muestra datos sobre esta región. Configuración realmente sencilla.

Lo que me gustaría hacer es permitir a mis usuarios un enlace profundo al contenido. Entonces, cada vez que alguien haga clic en un enlace, me gustaría cambiar la URL que se puede copiar y pegar en otro navegador. Otro usuario podría simplemente hacer clic en el enlace y ver el mismo estado que vio el primero.

Actualmente cambio la ubicación con código similar a este:

  $scope.$on('mapRegionClick', function($scope, regionCode) {
    var url = generateURL(regionCode);

    $scope.currentScope.$apply(function(){
      $location.path(url);
    });});

La URL se recoge en mi ruta y el mapa y los datos se muestran correctamente. La desventaja de esto es que cada vez que hago clic en el mapa y en los cambios de URL, la plantilla / vista completa se regenera. Debido a que generar el mapa es algo pesado, me gustaría activar solo un cambio en el controlador de presentación de datos.

¿Es posible? ¿Cómo?

Podría hacer alguna comunicación entre los controladores y lograr mi objetivo, pero entonces no podría hacer una vinculación profunda.

PD: no quiero usar$location.search() yreloadOnSearch=false. mis enlaces tienen que ser bonitos :)

Respuestas a la pregunta(2)

Su respuesta a la pregunta