У меня есть нечто, похожее на это
После нажатия «Посмотреть на карте»
И когда пользователь нажимает «Просмотр на карте», он отображает маркеры и добавляет его в слой. А «Просмотр на карте» изменится на «удалить маркеры», чтобы пользователи могли просматривать и удалять выбранный ими слой. Я попытался использовать управление слоями, чтобы сделать это, но я не знаю, как подходить к моей проблеме.
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);
Я добавляю их в города, что неправильно, так как, если я добавлю их в города, когда я нажму «удалить маркеры», это приведет к удалению всех маркеров в городах, а это не то, что мне нужно. Я хочу удалить только те маркеры, на которые нажал пользователь.