带传单层的AngularJS

时间:2018-11-07 02:05:35

标签: javascript angularjs leaflet

我有类似这样的东西

enter image description here

点击“在地图上查看”

enter image description here

当用户单击“在地图上查看”时,它将显示标记并将其添加到图层中。并且“在地图上查看”将变为“删除标记”,以便用户可以查看和删除他们选择的图层。我尝试使用层控制来执行此操作,但是我不知道如何解决我的问题。 PS:标记会堆叠并自行移除

我的JS:

    var cities = L.layerGroup();
    var searchLayer = L.layerGroup();



    var basemap   = L.tileLayer('https://maps-{s}.onemap.sg/v3/Default/{z}/{x}/{y}.png', {
      detectRetina: true,
      maxZoom: 15,
      minZoom: 11
    });

    var center = L.bounds([1.56073, 104.21475], [1.16, 103.502]).getCenter();
    var map = L.map('mapdiv', {
      center: [center.x, center.y],
      zoom: 12,
      layers: [basemap, cities, searchLayer]
    });

    map.setMaxBounds([[1.49073, 104.2147], [1.16, 103.582]]);

“在地图上查看”功能

L.marker([$scope.Lat[i], $scope.Lng[i]], {icon: greenIcon}).bindPopup($scope.apiResult[i].DESCRIPTION).addTo(cities);

我将它们添加到城市中是错误的,因为如果我将其添加到城市中,则当我单击“删除标记”时,它将删除城市中所有我不想要的标记。我只想删除用户单击的相应标记。

0 个答案:

没有答案