首先让我解释一下我要做的事情:
每30秒我得到一组gps点(纬度,长度)。这些点代表了我必须移动制造者的路线,我只是想通过将标记从point1移动到point2,然后从point2移动到point3来完成它,依此类推。然后,当我收到一个新的点阵列时,我再次开始这样做。保证前一个数组的最后一个点和当前数组的第一个点是相同的。这意味着路由已连接,每条路由都是一条Big Route的一部分,Big Route分为较小的路由,这些较小的路由按顺序发送给我。 (如果最后一句话太难理解,请忽略它,没有必要去理解它)。
我如何实施
作为标记,我使用Leaflet的插件Leaflet Moving Markers
这里作为一个代码:(它没有完整,我把它写成接近我的代码并且尽可能简短)
var api = // setting api here..
var marker = L.Marker.movingMarker(
[[0,0],[0,0]],
[0],
{ icon: icons.chosen });
var myPlugin = function(api, marker) {
this._api = api;
this._marker = api;
var that = this.
this._api.on('receive', function(points) { // receiving points here
that.moveMarker(points, 2000);
});
}
myPlugin.prototype.moveMarker = function(points, interval) {
this._marker.initialize(points, interval);
this._marker.start();
}
MyPlugin = new myPlugin(api,marker);
最后我的问题
每次收到积分时会发生什么:
......当我们第20次收到积分时,我们的标记会跑20圈。 为什么?
感谢您花费宝贵的时间阅读并帮助我!