如何动态添加图层和更新图层控件:传单

时间:2015-09-05 09:14:52

标签: javascript jquery google-maps leaflet angular-leaflet-directive

我正在使用lealflet api,用户可以在其中绘制形状 地图(图像)...

最初为基本地图添加图层控制(处理1层) 使用imageoverlay ......

我添加了一个id' newLyer'点击事件的页面 处理新层的创建.....即用户可以创建新层 并更新图层控件(现在处理2层)....

我使用了几种方法来创建图层并添加到控件中 但失败了....

向图层组添加新图层

<script src="https://code.angularjs.org/1.4.3/angular.js"></script>

<div ng-app="demo" ng-controller="MainCtrl" class="btn share" ng-click="do($event)">
    <span>1</span>
</div>

我需要添加控件的LayerControl(如果我是正确的)

var layerGroup = new L.LayerGroup(),
                    imageOverlayUrl = 'aa.jpg',
                    // New imageoverlay added to the layergroup
                    imageOverlay = new L.ImageOverlay(imageOverlayUrl, bounds).addTo(layerGroup),
                    // New featuregroup added to the layergroup
                    featureGroup = new L.FeatureGroup().addTo(layerGroup);

使用目前为止的静态代码的OnClick函数,将在点击

时执行
        var layerControl = new L.control.layers({
            'Main': layerGroup,
            //here i need to add new layer control
            }, null, { collapsed: false }).addTo(map);

简而言之

最初,我有一个控制层,现在是onclick功能 创建将添加到地图但我可以添加的新图层 这个图层进入了layerControl ....

如果有人知道如何做这类事情,请帮助,,,任何形式的帮助或参考将不胜感激.... 谢谢你的时间

1 个答案:

答案 0 :(得分:3)

如果您查看L.Control.Layers的文档:

http://leafletjs.com/reference.html#control-layers

您会看到L.Control.LayersaddBaseLayer方法:

http://leafletjs.com/reference.html#control-layers-addbaselayer

  

向控件添加具有给定名称的基础图层(单选按钮条目)。

因此你可以这样做:

layerControl.addBaseLayer(newBaseLayer, 'My New BaseLayer');

你很高兴。如你所见,如果你看一下reference,你可以免去发布这个问题的麻烦。传单有很好的记录。我个人通过完全阅读文档一次两次来了解我对Leaflet的了解。祝你的项目好运,欢呼!