@appendicit
Бездельник

Как найти и удалить дубли leaflet?

Использую leaflet карту, на которую динамически выводятся маркеры.
Иногда проскакивает проблема, что появляются дубли маркеров с одинаковой lat lng.

Как можно произвести поиск и удаление маркеров с карты с одинаковыми lat и lng (с точностью до сотых чисел)?

Например маркеры которые оказываются за пределами видимости карты при ее перемещении я удаляю так:

function deletepoints() {
			bounds = map.getBounds();
			
			markers.eachLayer(function(layer) {
				if(bounds.contains(layer.getLatLng())) {
				} else {
					markers.removeLayer(layer);
				}
			});
		}
  • Вопрос задан
  • 411 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Получаем массив маркеров, перебираем его, для каждого маркера проверяем наличие маркера с похожими координатами (абсолютное значение разности координат меньше определённого). Если найденный маркер не является тем же, что и текущий проверяемый - удаляем проверяемый. Собрал небольшую демку - можно порасставлять маркеры, вручную и случайно, настраивать допустимую разницу координат, удалять.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы