重绘折线传单
Redraw Polyline Leaflet
我有一条包含多个点的折线,我想在重新排列这些点的循环中多次重绘它。我用过setLatLngs函数,但它似乎重画了一次整个折线。
如何在循环中重绘多段线?
代码如下:
test()
{
for (var i=0;i<100;i++)
{
this._polyline.setLatLngs(this.shuffle(this._polylinePoints));
}
}
Here 是一个 jsfiddle。
谢谢!
所以,如果你想在一定时间内查看每次迭代的配置..你可能必须使用 setTimeout
,就像下面的 example.Or 做一些递归的 instead.Here 我只是不断地增加超时时间,递归方法效率更高。
self = this;
for (var i=0;i<100;i++) {
setTimeout(function() {
self._polyline.setLatLngs(self.shuffle(self._polylinePoints));
},1000*i)
}
下面是递归的例子
self = this;
var runs = 0;
shufflePoints = function() {
if (runs < 100) {
runs++;
self._polyline.setLatLngs(self.shuffle(self._polylinePoints));
setTimeout(function() {
shufflePoints()
},1000)
}
}
我有一条包含多个点的折线,我想在重新排列这些点的循环中多次重绘它。我用过setLatLngs函数,但它似乎重画了一次整个折线。
如何在循环中重绘多段线?
代码如下:
test()
{
for (var i=0;i<100;i++)
{
this._polyline.setLatLngs(this.shuffle(this._polylinePoints));
}
}
Here 是一个 jsfiddle。
谢谢!
所以,如果你想在一定时间内查看每次迭代的配置..你可能必须使用 setTimeout
,就像下面的 example.Or 做一些递归的 instead.Here 我只是不断地增加超时时间,递归方法效率更高。
self = this;
for (var i=0;i<100;i++) {
setTimeout(function() {
self._polyline.setLatLngs(self.shuffle(self._polylinePoints));
},1000*i)
}
下面是递归的例子
self = this;
var runs = 0;
shufflePoints = function() {
if (runs < 100) {
runs++;
self._polyline.setLatLngs(self.shuffle(self._polylinePoints));
setTimeout(function() {
shufflePoints()
},1000)
}
}