具有开放层的Angular JS

时间:2014-06-18 10:53:44

标签: angularjs openlayers

我需要创建一个控制器,该控制器具有管理开放层的所有标记的服务。

我认为有些应用程序基于角度和使用也是开放层。 但是,我无法找到真实的例子。

有人可以帮我找到这种方法的好例子吗?

2 个答案:

答案 0 :(得分:3)

Azimuth项目是我认为角度和开放层(或传单)最先进的集成。

但是......创建显示地图的自定义指令并监听范围对象的更改以便在地图上绘制它们并不难。这是我为我的另一个SO问题创建的一个插件,但它向您展示了如何创建基本地图:http://plnkr.co/edit/0tXsWS0DXtl37jV8GywI?p=preview

app.directive('tchOlMap', function () {

    var MAP_DOM_ELEMENT_ID = 'tchMap';

    return {

        restrict: 'E',

        replace: true,
        template: '<div id="' + MAP_DOM_ELEMENT_ID + '" class="full-height"></div>',

        link: function postLink(scope, element, attrs) {
            var map = new OpenLayers.Map(MAP_DOM_ELEMENT_ID);
            map.addLayer(new OpenLayers.Layer.OSM());
            map.setCenter(new OpenLayers.LonLat(3, 47).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913")), 5);
        }
    }

});

您只需要在链接功能中查看范围对象,并相应地在地图上绘制。

答案 1 :(得分:0)

请查看此https://github.com/tombatossals/angular-openlayers-directive

这里我们有一组示例使用此Marker自定义图标示例