Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置在L.canvas渲染器上绘制的传单标记的动画?_Javascript_Css_D3.js_Canvas_Leaflet - Fatal编程技术网

Javascript 如何设置在L.canvas渲染器上绘制的传单标记的动画?

Javascript 如何设置在L.canvas渲染器上绘制的传单标记的动画?,javascript,css,d3.js,canvas,leaflet,Javascript,Css,D3.js,Canvas,Leaflet,我有一个带有标记的传单图表,它扩展了L.CircleMarker类,然后定义了一个用户定义的路径,允许我们在画布上绘制自定义形状。rioV8在这篇精彩的文章中展示了这一点。 我想动画这些标记,如果可能的话请。随附的代码显示了两个标记,一个是脉动的圆圈标记器,另一个是定制的,尽管我希望是静态的 请问可以给那一个设置动画/脉动吗 标题 #地图{ 高度:800px; } .脉搏{ 动画:脉动1s放松; -webkit动画:脉动1s放松; -webkit动画迭代计数:无限; 不透明度:0.0 } @

我有一个带有标记的传单图表,它扩展了
L.CircleMarker
类,然后定义了一个用户定义的路径,允许我们在画布上绘制自定义形状。rioV8在这篇精彩的文章中展示了这一点。 我想动画这些标记,如果可能的话请。随附的代码显示了两个标记,一个是脉动的圆圈标记器,另一个是定制的,尽管我希望是静态的

请问可以给那一个设置动画/脉动吗


标题
#地图{
高度:800px;
}
.脉搏{
动画:脉动1s放松;
-webkit动画:脉动1s放松;
-webkit动画迭代计数:无限;
不透明度:0.0
}
@关键帧跳动{
0% {
变换:不透明度:1.0;
}
75% {
不透明度:1.0;
}
100% {
变换:不透明度:0.0;
}
}
var uk=[
{
“类型”:“FeatureCollection”,
“特点”:[
{
“类型”:“功能”,
“财产”:{‘城市’:‘巴黎’},
“几何学”:{
“类型”:“点”,
“坐标”:[2.3522,48.8566]
}
},
]
}];
法国var=[
{
“类型”:“FeatureCollection”,
“特点”:[
{
“类型”:“功能”,
“财产”:{‘城市’:‘伦敦’},
“几何学”:{
“类型”:“点”,
“坐标”:[-0.133869,51.510067
]
}
}
]
}];
包括({
_updateMarkerSquare:函数(层){
如果(!this.| | | layer._empty()){
返回;
}
var p=层.\u点,
ctx=这个,
r=数学最大值(数学圆(层半径),5);
此._drawnLayers[层._传单\u id]=层;
ctx.beginPath();
ctx.moveTo(p.x-r,p.y-r);
ctx.lineTo(p.x+r,p.y-r);
ctx.lineTo(p.x+r,p.y+r);
ctx.lineTo(p.x-r,p.y+r);
ctx.lineTo(p.x-r,p.y-r);
ctx.closePath();
这是一个填充冲程(ctx,层);
}
});
var myMarker=L.CircleMarker.extend({
_updatePath:函数(){
if(this.options.shape==“square”)
此._渲染器._更新Markersquare(此);
}
});
var myRenderer=L.canvas({
填充:0.5,
});
var map=L.map(“map”).setView([49.2,0],6)
var myRenderer=L.canvas({
填充:0.5,
});
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
//创建标记层并将其显示在地图上
ukLayer=L.geoJson(英国{
pointToLayer:功能(特性、latlng){
返回新的myMarker(latlng{
形状:'正方形',
颜色:“红色”,
//交互:错,
渲染器:myRenderer,
类名:“脉冲”
})
}
}).addTo(地图);
franceLayer=L.geoJson(法国{
pointToLayer:功能(特性、latlng){
返回L.circleMarker(车床{
类名:“脉冲”
})
}
}).addTo(地图);

将css类添加到画布层

var myRenderer = L.canvas({
        padding: 0.5,
    });

//...
L.DomUtil.addClass(myRenderer._container, "pulse");

不错!非常感谢。