AngularJS é um framework JavaScript open-source, mantido pelo Google, que auxilia na execução de single-page applications. Seu objetivo é aumentar aplicativos que podem ser acessados por um navegador web, foi construído sob o padrão model-view-view-model (MVVM), em um esforço para facilitar tanto o desenvolvimento quanto o teste dos aplicativos.
No AngularJS encontramos as diretivas que permitem ao desenvolvedor especificar tags HTML personalizadas e reusáveis, que personalizam o comportamento de certos elementos.
Partindo desse princípio David Rubert criou a diretiva angular-openlayers-directive com a intenção de incorporar mapas geridos pela biblioteca OpenLayers 3.
Veja como é fácil usar a diretiva:
1. Primeiro de tudo, carregue o AngularJS e OpenLayers (V3) em seu arquivo HTML.
2. Depois disso, você deve incluir a dependência da openlayers-directiva em seu módulo angular:
var app = angular.module ( "demoapp", [ "openlayers-directiva"]);
3. O comportamento padrão irá mostrar uma camada OpenStreetMap e os controles de zoom e atribuições, mas você pode personalizar os valores padrão para atender às suas necessidades. Além disso, você pode definir uma atualização bi-direcional de valores entre o mapa e as variáveis do seu controler. Desta forma, você pode interagir facilmente com o mapa. Exemplo:
angular.extend($scope, { center: { lat: 51.505, lon: -0.09, zoom: 8 } });
4. Finalmente, você deve incluir a diretiva em sua página HTML, desta forma:
<openlayers ol-center="center" height="480px" width="640px"></openlayers>
Para conferir informações detalhadas e baixar a diretiva você pode acessar o link do GitHub:
https://github.com/tombatossals/angular-openlayers-directive
Bons estudos!
Fonte: Spatially Oriented