Установка листовки, листовки-кнопки, листовки-тега-фильтра-кнопки
Импорт их CSS на angular.json:
...
"styles": [
"../node_modules/leaflet/dist/leaflet.css",
"../node_modules/leaflet-easybutton/src/easy-button.css",
"../node_modules/leaflet-tag-filter-button/src/leaflet-tag-filter-button.css",
"styles.css"
],
...
в .ts:
import "leaflet-easybutton";
import "leaflet-tag-filter-button/src/leaflet-tag-filter-button.js";
Создайте переменную markerIcon как L.icon
и используйте ее следующим образом:
var fastMarker = L.marker([36.8963965256, 30.708771944], {
icon: markerIcon,
tags: ["fast"]
})
.addTo(map)
.bindPopup("fast");
Используйте аналогичную технику для остальных маркеров.Наконец, создайте экземпляр вашего tagFilterButton
класса:
(L.control as any)
.tagFilterButton({
data: ["fast", "slow", "none"],
icon: '<img src="assets/filter.png">',
filterOnEveryClick: true
})
.addTo(map);
Demo