Вы можете использовать этот пример и настроить его в угловых
// define the marker path icon for web-pack not to be confused
const markerIcon = {
icon: L.icon({
iconSize: [25, 41],
iconAnchor: [10, 41],
popupAnchor: [2, -40],
// specify the path here
iconUrl:
"https://cdn.rawgit.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png",
shadowUrl:
"https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png"
})
};
// Define an icon called animatedCircleIcon and set the css
const animatedCircleIcon = {
icon: L.divIcon({
className: "css-icon",
html: '<div class="gps_ring"></div>',
iconSize: [18, 22]
})
};
// add the marker icon
L.marker([50.5, 30.5], markerIcon).addTo(map);
// add the animatedCircleIcon
L.marker([50.5, 30.5], animatedCircleIcon).addTo(map);
, а затем в стилях:
.gps_ring {
border: 3px solid red;
-webkit-border-radius: 40px;
height: 18px;
width: 18px;
-webkit-animation: pulsate 1s ease-out;
-webkit-animation-iteration-count: infinite;
/*opacity: 0.0*/
}
@-webkit-keyframes pulsate {
0% {
-webkit-transform: scale(0.1, 0.1);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
-webkit-transform: scale(1.2, 1.2);
opacity: 0;
}
}
Демо
Редактировать
Позже я увидел, что вы уже написали асимметричный код, поэтому, если вам нужен пример с использованием ngx-leaflet, вы должны использовать этот demo