我有类似这样的东西
点击“在地图上查看”
当用户单击“在地图上查看”时,它将显示标记并将其添加到图层中。并且“在地图上查看”将变为“删除标记”,以便用户可以查看和删除他们选择的图层。我尝试使用层控制来执行此操作,但是我不知道如何解决我的问题。 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);
我将它们添加到城市中是错误的,因为如果我将其添加到城市中,则当我单击“删除标记”时,它将删除城市中所有我不想要的标记。我只想删除用户单击的相应标记。