3

我正在尝试将Leaflet Editable 功能添加到我当前的地图中,该地图是由传单指令创建的。我正在获取 L.map 实例:

leafletData.getMap().then(function(map) {
  // where map is the Leaflet map instance
}

但是,Leaflet 可编辑需要在editable: true创建地图时进行设置。

那么,有没有办法创建一个 L.map 实例

var map = L.map('map', {editable: true});

然后将其附加到 Leaflet 角度指令?

更新:

我试图向 Leaflet 添加一个钩子

L.Map.addInitHook(function () {
  this.whenReady(function () {
    this.editTools = new L.Editable(this, this.options.editOptions);
    console.log('L.map', this);
  });
}

它成功创建了editTools,但是

map.editTools.startPolyline(); 

仍然不工作

4

2 回答 2

0

您是否尝试添加editable: true到默认值?

angular.extend($scope, {
    defaults: {
        editable: true
    },
    center: {
        lat: 51.505,
        lng: -0.09,
        zoom: 8
    }
});

<leaflet defaults="defaults" lf-center="center" height="480px" width="640px"></leaflet>
于 2015-10-05T14:55:22.760 回答
0

对于任何像我一样使现有地图可编辑的人

var map = L.map('map', {editable: true});

是相同的

var map = L.map('map');
map.editTools = new L.Editable(map);
于 2016-04-06T07:38:26.503 回答