如何在标记上的非对称中添加脉冲动画

问题描述 投票:0回答:1

我在传单lib中的标记上添加动画有问题

我用

new L.Icon({ 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',
     iconSize: [25, 41],
     iconAnchor: [12, 41],
     popupAnchor: [1, -34],
     shadowSize: [41, 41]
})

HTML:

<div id='map' style="height:600px;"></div>`

我试着用https://github.com/mapshakers/leaflet-icon-pulse

但它不起作用。

所以你知道我怎么能做到这一点?

还有一个,当我把它放在.css文件中时,Icon或className中的divIcon被忽略了

javascript angular leaflet openstreetmap ngx-leaflet
1个回答
1
投票

您可以使用此example并以角度调整它

// 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;
  }
}

Demo

编辑

我后来看到你已经写了不对称所以如果你想要一个使用ngx-leaflet的例子你应该使用这个demo

© www.soinside.com 2019 - 2024. All rights reserved.