完善部分:
我也比较赞成你来管理数据库,他们只管处理数据就可以了,他们的需求是这样的,蓝牙一边传递数据一边平移。假设蓝牙设备已经传你1000帧数据了,此时他才开始点三个点偏移。
1. 已经存在的1000个点,需要批量偏移。
2. 新的不断来的数据,需要实时偏移。
其实这个也简单:蓝牙发过来的数据记录在pointA表, 偏移的数据记录在pointB表。他们想要数据库也是想一口气先把这1000条旧数据帮你偏移完。不过这样需要你给他们说数据库操作,比较繁琐。
我觉得他们只需要写一个方法transPoint,你给他们一个点,他帮你偏移一下就可以了。然后你把原数据和偏移后的数据分别记录到数据库,刷新界面读取pointB表的数据就可以了。
新的不断来的数据,需要实时偏移。也调用transPoint一样的。
一共三条。我打了电话问了40分钟,基本了解清楚了,不过我没开发所以有的细节,你需要来掌握下。
1. 添加两个按钮:
这个比较简单,按如下步骤操作:
(1)在首页添加两个按钮。(位置可以先随意点,后面再来美化)
(2)点了按钮后,需要把某个标志位设置一下(这个我不清楚是什么,他们说的是之前的某个蓝牙操作协议,需要你问下,应该是调用蓝牙的协议)
(3)把对应的数据传递给工具类,工具类处理后回调你处理好的数据,你需要记录到数据表。
2. 三维坐标,三个点。
所谓的三维,不是想像中的那种三维,其实就是一帧数据:经度,纬度,海拔。 这三个数据元相当于xyz空间坐标,他们称为三维。
一帧数据 = (经度,纬度,海拔) 也就是一个地图中的点。
我们把这个一帧数据成为一个point
现在你在地图中选三个点,可以得到三个点的数据(三组经度,纬度,海拔数据),你得到了三个point
然后他们工具类有一个方法,你调用的时候传这三个point进去,他们根据这三个point计算出三个偏移量。类似这样
Tool.pianyi = function( point1, point2, point3){
let x = point1.x - point2.x - point3.x
let y = point1.y - point2.y - point3.y
let z = point1.z - point2.z - point3.z
let p = (x,y,z)
return p
}
有了上面的偏移量,调用他们的修正函数,他们就把你指定的point平移了。其实就是平移。