angularjs - 具有开放层的 Angular JS

标签 angularjs openlayers

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

我认为有些应用程序基于 Angular 并也使用开放层。 但是我找不到真实的例子。

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

最佳答案

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

但是...创建显示 map 并监听范围对象的更改以便将它们绘制在 map 上的自定义指令实际上并不难。这是我为我的另一个 SO 问题创建的 plukr,但它向您展示了如何创建基本 map :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);
        }
    }

});

您只需在链接函数中观察范围对象,然后相应地在 map 上绘制即可。

关于angularjs - 具有开放层的 Angular JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283709/

相关文章:

javascript - 哪个版本的 Bing API 使用 OpenLayers? (如果有的话)

javascript - 如何在 ng-repeat angularJS 内的 $scope 中赋值

javascript - 在 AngularJS 指令中使用 SelectBoxIt

extjs - OpenLayers - 如何绘制多边形?

javascript - 在 OpenLayer 中更平滑地加载图 block

javascript - 如何使用 OpenLayers 显示 Bing map 图层

javascript - 在其他指令中重用 Angular Directive(指令)

angularjs - md-list > md-item 上的 Angular Material Design 波纹

javascript - AngularJS 中的多个 JSONP XHR 请求失败

javascript - OpenLayers MouseUp 事件 - 鼠标仍然拖动 map