首页 / 浏览问题 / 云GIS / 问题详情
classic示例代码车辆监控,怎么得到每个小车的位置呢
617
12EXP 2018年07月04日
iserver 9d 请问在classic示例代码车辆监控中,我想得到每个小车的具体位置,该怎么写呢

1个回答

您好,可以使用这些获取方法

4,524EXP 2018年07月04日
我想用这个小车模拟公交车,查看每个小车的到站信息,可是车都在cars数组里,我该怎么把他们区分开呢,得到每个小车的位置呢
那就用getFeatureBy**的方式去获取
还有,,那个开始时间,结束时间指的是什么时间呢
那个其实本质上并不是时间,它只是一个最少量和最大量,可以是任何计量单位。

var featureComps = feature.geometry.components;//
                            for (var k = 0, len = featureComps.length; k < len; k++) {
                                var car = new SuperMap.Feature.Vector(featureComps[k].clone(),
                                    {
                                        FEATUREID: feature.id,
                                        //根据节点生成时间
                                        TIME: k    
                                    },styleCar1
                                );
                                animatorVector.addFeatures(car);

那这个节点时间呢

iClient for JavaScript的动画图层类参考如下:
http://iclient.supermap.io/libs/iclient8c/apidoc/files/SuperMap/Layer/AnimatorVector-js.html
建议先仔细阅读

实现过程大概类似CSS渐变动画,举个例子,如下两个点:
a(0,0) b(10,10)
a要运动到c(-20,-20),b要运动到d(30,30)
那么这时会有两个动画,a到c的动画叫动画1,b到d的叫动画2。

动画图层的 featureID 属性即指定使用哪个属性标识动画,即哪些属性值的要素在同一个动画,默认是 要素的属性“FEATUREID”,比如,a和c都应该有 “FEATUREID” 属性,并且属性值相同,这样就唯一确定了动画1由a和c两点组成;同样b到d也应有这个属性且值相同。

 再说时间,是用于控制播放过程和播放时间的,这个时间单位可以是毫秒、秒甚至是几天、月、年等,它其实就是一个量化标准。
 上面的例子,如果a的标记是0时刻,c是1时刻,那么动画1就是从a的位置每帧加speed时间一直过渡到b的位置,反过来,那么动画1就会从c的位置过渡到a;动画1和动画2可以不同时开始和结束。
 动画图层timeName属性指定标识要素时刻的字段,默认是要素的属性 “TIME”,所以a和c都应有这个属性,并指定值,值为任意数字,没有任何意义,比如开始时间是 100.0 等于a的TIME值,速度是50.0,c的TIME值是200.0,那么下一帧代表的是150.0时刻,这时动画显示的点大概在a、c两点中间。

求教,还是这个问题,,用getFeatureBy**不行啊,我想获得每个小车的当前位置,可是,console.log(car),出来好多坐标呢,怎么得到它的当前位置呢,
...