我正在使用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 ....
如果有人知道如何做这类事情,请帮助,,,任何形式的帮助或参考将不胜感激.... 谢谢你的时间
答案 0 :(得分:3)
如果您查看L.Control.Layers
的文档:
http://leafletjs.com/reference.html#control-layers
您会看到L.Control.Layers
有addBaseLayer
方法:
http://leafletjs.com/reference.html#control-layers-addbaselayer
向控件添加具有给定名称的基础图层(单选按钮条目)。
因此你可以这样做:
layerControl.addBaseLayer(newBaseLayer, 'My New BaseLayer');
你很高兴。如你所见,如果你看一下reference,你可以免去发布这个问题的麻烦。传单有很好的记录。我个人通过完全阅读文档一次两次来了解我对Leaflet的了解。祝你的项目好运,欢呼!