移动位置的展示方法及装置、跑步机与流程

文档序号:19155595发布日期:2019-11-16 00:43阅读:486来源:国知局
移动位置的展示方法及装置、跑步机与流程

本申请涉及运动检测领域,具体而言,涉及一种移动位置的展示方法及装置、跑步机。



背景技术:

相关技术中,智能带屏跑步机的地图模拟跑功能,就是根据用户在地图上选择的起点终点生成跑步路线,然后获取用户跑动的距离来模拟定位地图路线中的用户坐标。跑步路线的生成需要借助第三方地图sdk,由于地图sdk的路线规划功能返回的是一组离散的坐标点(即路线点),如果根据这些坐标点来模拟用户位置的移动,会导致用户跑步时屏幕上用户的移动显示效果出现卡顿,即用户位置的移动不够连续,不够平滑。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种移动位置的展示方法及装置、跑步机,以至少解决相关技术中由于依据离散的坐标点模拟用户位置的移动导致用户位置的移动出现不连续的效果的技术问题。

根据本申请实施例的一个方面,提供了一种移动位置的展示方法,包括:检测目标对象的移动距离;确定目标展示界面所展示的目标路线中与移动距离对应的子路线,其中,子路线中包括与目标路线对应的预设路线点集合中相邻的两个路线点,以及在相邻的两个路线点之间增加的路线点;基于移动距离在相邻的两个路线点和增加的路线点中确定目标路线点;基于目标路线点在目标路线中的位置确定目标对象的移动标识所对应的目标位置信息,并在目标展示界面中展示目标位置信息。

可选地,检测目标对象的移动距离,包括:检测目标对象所在传动装置的运行速度,其中,目标对象跟随传动装置执行前行动作;依据传动装置的运行速度确定目标对象的移动速度;基于移动速度和目标对象在传动装置上的运动时长确定移动距离。

可选地,确定目标展示界面所展示的目标路线中与移动距离对应的子路线之前,方法还包括:比较移动距离与路线点距离集合中的距离值,得到比较结果,其中,路线点距离集合中的距离值为预设路线点集合中初始路线点位置和其他路线点位置之间的距离;依据比较结果从路线点距离集合中选择目标距离值;确定与目标距离值对应的目标子路线,并将目标子路线作为与移动距离对应的子路线,其中,该目标子路线为与目标距离值对应的路线点与相邻的上一个路线点之间的路线。

可选地,依据比较结果从路线点距离集合中选择目标距离值,包括:依据比较结果确定小于移动距离的距离值;从小于移动距离的距离值中确定与移动距离相差最小的距离值,并将与移动距离相差最小的距离值作为目标距离值。

可选地,确定与目标距离值对应的目标子路线,包括:确定与目标距离值对应的路线点对,其中,该路线点对中包括与目标距离值对应的路线点,以及与目标距离值对应的路线点相邻的上一个路线点;确定路线点对中两个路线点之间的距离;比较路线点对中两个路线点之间的距离和预设阈值;在路线点对中两个路线点之间的距离大于预设阈值时,在两个路线点之间增加至少一个路线点。

可选地,在相邻的两个路线点之间增加的路线点通过以下方式确定:确定相邻的两个路线点之间的定比分点,并将定比分点作为在相邻的两个路线点之间增加的路线点。

可选地,在相邻的两个路线点之间增加的路线点通过以下方式确定:确定路线点对中两个路线点之间的距离和预设阈值的第一比值;依据第一比值确定路线点对中两个路线点之间增加的路线点数;确定路线点对中两个路线点之间的经纬度差与路线点数的第二比值,得到经纬度增量;依据路线点对中两个路线点中的起始路线点位置和经纬度增量确定在相邻的两个路线点之间增加的路线点。

可选地,确定展示界面所展示的目标路线中与移动距离对应的子路线之前,方法还包括:获取用于生成目标展示界面所展示地图中的目标路线的路线点;基于获取的路线点生成预设路线点集合。

根据本申请实施例的另一方面,提供了一种移动位置的展示方法,包括:从与目标对象的移动路线对应的预设路线点集合中提取路线点,其中,路线点用于生成目标路线;确定提取的路线点中相邻的两个路线点之间的距离;比较距离和预设阈值;在距离大于预设阈值时,在相邻的两个路线点之间增加至少一个目标路线点;依据相邻的两个路线点坐标和至少一个目标路线点生成预设路线中两个相邻路线点之间的子路线;在子路线中展示目标对象的位置。

可选地,依据相邻的两个路线点坐标和至少一个目标路线点生成预设路线中两个相邻的路线点之间的子路线,包括:比较目标对象的移动距离与路线点距离集合中的距离值,得到比较结果,其中,路线点距离集合中的距离值为预设路线点集合中初始路线点位置和其他路线点位置之间的距离;依据比较结果从路线点距离集合中选择目标距离值;确定与目标距离值对应的目标子路线,并将目标子路线作为与移动距离对应的子路线,其中,该目标子路线为与目标距离值对应的路线点与相邻的上一个路线点之间的路线。

可选地,依据比较结果从路线点距离集合中选择目标距离值,包括:依据比较结果确定小于移动距离的距离值;从小于移动距离的距离值中确定与移动距离相差最小的距离值,并将与移动距离相差最小的距离值作为目标距离值。

可选地,在相邻的两个路线点之间增加至少一个目标路线点,包括:确定相邻的两个路线点之间的定比分点,并将定比分点作为目标路线点。

根据本申请实施例的又一方面,提供了一种移动位置的展示装置,包括:检测模块,用于检测目标对象的移动距离;第一确定模块,用于确定目标展示界面所展示的目标路线中与移动距离对应的子路线,其中,子路线中包括与目标路线对应的预设路线点集合中相邻的两个路线点,以及在相邻的两个路线点之间增加的目标路线点;第二确定模块,用于基于移动距离在相邻的两个路线点和目标路线点中确定目标路线点;展示模块,用于基于目标路线点在目标路线中的位置确定目标对象的移动标识所对应的目标位置信息,并在目标展示界面中展示目标位置信息。

可选地,检测模块,还用于检测目标对象所在传动装置的运行速度,其中,目标对象跟随传动装置执行前行动作;依据传动装置的运行速度确定目标对象的移动速度;以及基于移动速度和目标对象在跑步机上的运动时长确定移动距离。

根据本申请实施例的又一方面,提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上的移动位置的展示方法。

根据本申请实施例的又一方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以上的移动位置的展示方法。

根据本申请实施例的又一方面,提供了一种跑步机,包括:显示装置,用于提供目标展示界面,该目标展示界面用于展示电子地图中的目标路线,以及目标对象在目标路线中的移动标识对应的目标位置信息;传动装置,用于承载目标对象,并带动目标对象执行前行动作;控制器,用于依据传动装置的运行速度确定目标对象的移动速度;基于移动速度和目标对象在传动装置上的运动时长确定目标对象的移动距离;确定目标路线中与移动距离对应的子路线,其中,子路线中包括与目标路线对应的预设路线点集合中相邻的两个路线点,以及在相邻的两个路线点之间增加的目标路线点;基于移动距离在相邻的两个路线点和增加的路线点中确定目标路线点;将目标路线点在目标路线中的位置作为移动标识所对应的目标位置信息。

在本申请实施例中,采用在目标路线对应的预设路线点集合中的相邻路线点之间增加新的路线点的方式,由于增加了新的路线点,因此,可以使得用户的移动位置在移动时的显示效果更加平滑,进而解决了相关技术中由于依据离散的坐标点模拟用户位置的移动导致用户位置的移动出现不连续的效果的技术问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种跑步机的结构示意图;

图2是根据本申请实施例的一种移动位置的展示方法的流程示意图;

图3是根据本申请实施例的一种可选的路线点的生成流程示意图;

图4是根据本申请实施例的一种可选的采用定比分点原理生成路线点的流程示意图;

图5是根据本申请实施例的一种移动位置的展示装置的结构示意图;

图6是根据本申请实施例的另一种移动位置的展示方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了更好地理解本申请实施例,以下将本申请实施例中所涉及的技术术语解释如下:

定比分点:,设坐标轴上一有向线段的起点和终点的坐标分别为x1和x2,分点m分此有向线段的比为λ,那么,分点m的坐标x=(x1+λx2)/(1+λ),此分点m即为定比分点。

路线点:用于生成起始点和终点之间的路线的一系列离散点。

相关技术中,由于在电子地图中展示用户在路线中的位置时,是依据电子地图中用于生成上述路线的离散点进行模拟的,因此,导致在电子地图中展示的用户的移动位置会出现不连续的显示效果。基于上述问题,本申请实施例在相邻的两个离散点之间增加新的离散点,这样,可以在一定程度上改进移动位置在展示时的连贯性。具体地:

图1是根据本申请实施例的一种跑步机的结构示意图。如图1所示,该跑步机包括:

显示装置10,用于提供目标展示界面,该目标展示界面用于展示电子地图中的目标路线,以及目标对象在目标路线中的移动标识对应的目标位置信息;

传动装置12,用于承载目标对象,并带动目标对象执行前行动作;

控制器14,用于依据传动装置的运行速度确定目标对象的移动速度;基于移动速度和目标对象在传动装置上的运动时长确定目标对象的移动距离;确定目标路线中与移动距离对应的子路线,其中,子路线中包括与目标路线对应的预设路线点集合中相邻的两个路线点,以及在相邻的两个路线点之间增加的目标路线点;基于移动距离在相邻的两个路线点和增加的路线点中确定目标路线点;将目标路线点在目标路线中的位置作为移动标识所对应的目标位置信息。

采用上述结构的跑步机,由于在已有路线点中增加了新的路线点,因此,可以使得用户的移动位置在移动时的显示效果更加平滑,进而解决了相关技术中由于依据离散的坐标点模拟用户位置的移动导致用户位置的移动出现不连续的效果的技术问题。

需要说明的是,上述跑步机还可以具有比图1所示更多的结构,例如包括基座、扶手结构等结构,但不限于此。

还需要说明的是,关于控制器14的上述运行过程,以下会在移动位置的展示方法中详细描述,此处不再赘述。

根据本申请实施例,提供了一种移动位置的展示方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本申请实施例的一种移动位置的展示方法的流程示意图,如图2所示,该方法包括如下步骤:

步骤s202,检测目标对象的移动距离,其中,移动距离为基于目标对象的速率和时间确定的;

步骤s204,确定目标展示界面所展示的目标路线中与移动距离对应的子路线,其中,子路线中包括与目标路线对应的预设路线点集合中相邻的两个路线点,以及在相邻的两个路线点之间增加的路线点;

步骤s206,基于移动距离在相邻的两个路线点和增加的路线点中确定目标路线点;

步骤s208,基于目标路线点在目标路线中的位置确定目标对象的移动标识所对应的目标位置信息,并在目标展示界面中展示目标位置信息。

在本申请实施例中,采用在目标路线对应的预设路线点集合中的相邻路线点之间增加新的路线点的方式,由于增加了新的路线点,因此,可以使得用户的移动位置在移动时的显示效果更加平滑,进而解决了相关技术中由于依据离散的坐标点模拟用户位置的移动导致用户位置的移动出现不连续的效果的技术问题。

在步骤s202中,可以通过以下方式检测目标对象的移动距离:检测目标对象所在传动装置的运行速度,其中,目标对象跟随传动装置执行前行动作;依据传动装置的运行速度确定目标对象的移动速度;基于移动速度和目标对象在传动装置上的运动时长确定移动距离。

具体地,目标对象的移动距离可以是目标对象的行进长度,该行进长度仅仅是一种距离数据,这种数据的计算依据传动装置履带的运行速度设定值以及传动装置履带的运行时间,例如,当用户在传动装置履带上进行奔跑时,履带随用户行进方向的逆向运动,因此履带的速度即用户跑步的速度v,那么用户等效路程(目标对象的移动距离)s=v*t,其中t是传动装置运行的时间值。

另外,当目标对象的移动速度为变速的时候,传动装置处理器需要将运行时间内的平均速度作为传动装置履带的运行速度,例如,传动装置运行时间为t,t=t1+t2,如果用户在t1时间内的行进速度为v1,t2时间内的行进速度为v2,那么用户行进(即传动装置运行)的平均速度为:v1*t1/(t1+t2)+v2*t2/(t1+t2),最后根据平均速度与传动装置运行的总时间t,计算目标对象的移动距离。

在本申请的一些实施例中,确定目标展示界面所展示的目标路线中与移动距离对应的子路线之前,还可以执行以下处理过程:比较移动距离与路线点距离集合中的距离值,得到比较结果,其中,路线点距离集合中的距离值为预设路线点集合中初始路线点位置和其他路线点位置之间的距离;依据比较结果从路线点距离集合中选择目标距离值;确定与目标距离值对应的目标子路线,并将目标子路线作为与移动距离对应的子路线,其中,该目标子路线为与目标距离值对应的路线点与相邻的上一个路线点之间的路线。

其中,在依据比较结果从路线点距离集合中选择目标距离值时,可以执行以下处理过程:依据比较结果确定小于移动距离的距离值;从小于移动距离的距离值中确定与移动距离相差最小的距离值,并将与移动距离相差最小的距离值作为目标距离值。

为避免运行资源的浪费,可以仅在满足要求的情况下,在路线点之间增加新的路线点:确定与目标距离值对应的路线点对,其中,该路线点对中包括与目标距离值对应的路线点,以及与目标距离值对应的路线点相邻的上一个路线点;确定路线点对中两个路线点之间的距离;比较路线点对中两个路线点之间的距离和预设阈值;在路线点对中两个路线点之间的距离大于预设阈值时,在两个路线点之间增加至少一个路线点。

可选地,在相邻的两个路线点之间增加的路线点通过以下方式确定:确定路线点对中两个路线点之间的距离和预设阈值的第一比值;依据第一比值确定路线点对中两个路线点之间增加的路线点数;确定路线点对中两个路线点之间的经纬度差与路线点数的第二比值,得到经纬度增量;依据路线点对中两个路线点中的起始路线点位置和经纬度增量确定在相邻的两个路线点之间增加的路线点。

具体地,确定离散坐标的路线距离,是为了衡量离散坐标中点与点之间的距离是否满足预设的平滑条件,在实际操作中,当一段路线离散坐标点越多的时候,这段路线的行进轨迹就越趋于平滑,那么为了达到用户体验跑步轨迹是平滑感好的技术效果,需要增加对离散坐标点的处理过程。

以跑步机中的地图模拟跑功能为例,预先计算软件工具包(sdk)返回的所有离散坐标到起点坐标的路线距离,获取到底层传来的跑动距离后,会计算当前跑动距离与路线上哪个离散坐标最为接近,并将其作为用户的模拟位置,更新到地图跑界面上。其中,路线细分切割的流程如图3所示:首先,地图sdk返回的离散路线点中,部分的点与点之间直线距离过大,导致用户位置移动时出现了类似掉帧的现象,在这两个点中间生成更多的路线点。可以预设一个最大的距离阈值,如果相邻的两点距离大于这个阈值,就在这两点形成的线段上再次生成路线点。具体算法流程如图3所示。

为了使用户位置的移动更为平滑,本申请实施例根据地图sdk返回的路线离散点构成的线段进行多次切割与定比分点定位。即在相邻的两个路线点之间增加的路线点可以通过以下方式确定:确定相邻的两个路线点之间的定比分点,并将定比分点作为在相邻的两个路线点之间增加的路线点。

路线的切割解决了两个路线点之间距离过大的情况,理论上,把第1点提到的最大距离阈值设的越小,用户在路线上的移动就越平滑,但是这样会生成更多的路线点在列表中,增加了内存消耗。因此,在路线的切割后的基础上再做一层处理,就是对路线做定比分点。定比分点原理是,设坐标轴上一有向线段的起点和终点的坐标分别为x1和x2,分点m分此有向线段的比为λ,那么,分点m的坐标x=(x1+λx2)/(1+λ)。对路线做定比分点,就是允许让用户的位置根据在两个路线点的距离比例而落在分点上。具体算法如图4所示,此处不再赘述。

在本申请的一些可选实施例中,上述预设路线点集合为通过以下方式生成的:获取用于生成目标展示界面所展示地图中的目标路线的路线点;基于获取的路线点生成预设路线点集合。

具体地,获取路线点的过程可以是根据预设路线对地图上可能经过的离散坐标值进行获取,并根据这点离散坐标值进行拟合形成一个路线集合,这种集合是基于路线点而得到的,所以也是一种路线点的集合,获取路线点的过程还可以是根据用户行进的路程计算出发点到路程终点的位置,那么基于终点位置与出发点的位置生成途径的离散点坐标,并根据这些坐标生成路径集合。例如,离散坐标点位(a1,b1)(a2,b2)(a3,b3),那么通过处理器计算后所生产的路径集合为q={(a1,b1)(a2,b2)(a3,b3)},其中q是这一条路径所有坐标点的集合。

如图3所示,根据本申请实施例的一种可选的路线点的生成流程示意图,具体步骤为:

步骤s302,输入地图sdk返回的路线点构成的列表;

步骤s304,预设最大距离阈值=20米,并从第一个路线点取值开始执行;

步骤s306,取某一路线点与其相邻的下一个路线点之间的距离;

步骤s308,判断s306两点间距离是否大于预设阈值;

步骤s310,对两点间进行切割,切割的份数是两点之间的距离与预设阈值的比值;

步骤s312,获取每份切割的经纬增量,增量等于经度或纬度差/切割份数;

步骤s314,计算新的路线点,即路线点与乘积的和值,其中,乘积为每份增量与n(n为从1至切割份数)的乘积,然后取下一个路线点继续进行遍历;

步骤s316,判断是否遍历完列表中的路线点,如果,是则结束,否则,转步骤s306。

具体的,遍历列表可以采用遍历二叉树的方式,将数据结构化储存并按遍历二叉树规则进行遍历,这样遍历的优点是逻辑清晰、无遗漏且数据存储读取效率高。

如图4所示,根据本申请实施例的一种可选的采用定比分点原理生成路线点的流程示意图,具体为:

步骤s402,输入用户跑动距离;

步骤s404,遍历路线点列表,并对从起点到i+1路线点的距离赋值;

步骤s406,判断s404所赋值的从起点到i+1路线点的距离是否小于等于用户跑动距离;

步骤s408,如果s406判断为是,则此时用户的位置刚好落在i与i+1之间,利用定比分点原理计算出在两点间的具体位置;

步骤s410,输出两点之间的路线分点。

本申请实施例提供了一种移动位置的展示装置,如图5所示,该展示装置包括:检测模块50,用于检测目标对象的移动距离,其中,移动距离为基于目标对象的速率和时间确定的;第一确定模块52,用于确定目标展示界面所展示的目标路线中与移动距离对应的子路线,其中,子路线中包括与目标路线对应的预设路线点集合中相邻的两个路线点,以及在相邻的两个路线点之间增加的目标路线点;第二确定模块54,用于基于移动距离在相邻的两个路线点和目标路线点中确定目标路线点;展示模块56,用于基于目标路线点在目标路线中的位置确定目标对象的移动标识所对应的目标位置信息,并在目标展示界面中展示目标位置信息。

在本申请实施例中,采用在目标路线对应的预设路线点集合中的相邻路线点之间增加新的路线点的方式,由于增加了新的路线点,因此,可以使得用户的移动位置在移动时的显示效果更加平滑,进而解决了相关技术中由于依据离散的坐标点模拟用户位置的移动导致用户位置的移动出现不连续的效果的技术问题。

可选地,检测模块50,还用于检测目标对象所在传动装置的运行速度,其中,目标对象跟随传动装置执行前行动作;依据传动装置的运行速度确定目标对象的移动速度;以及基于移动速度和目标对象在跑步机上的运动时长确定移动距离。

本申请实施例还提供了另一种移动位置的展示方法,如图6所示,该方法包括:

步骤s602,从与目标对象的移动路线对应的预设路线点集合中提取路线点,其中,路线点用于生成目标路线;确定提取的路线点中相邻的两个路线点之间的距离;

步骤s604,比较距离和预设阈值;

步骤s606,在距离大于预设阈值时,在相邻的两个路线点之间增加至少一个目标路线点;

步骤s608,依据相邻的两个路线点坐标和至少一个目标路线点生成预设路线中两个相邻路线点之间的子路线;

步骤s610,在子路线中展示目标对象的位置。

在本申请的一些实施例中,可以依据相邻的两个路线点坐标和至少一个目标路线点生成预设路线中两个相邻的路线点之间的子路线:比较目标对象的移动距离与路线点距离集合中的距离值,得到比较结果,其中,路线点距离集合中的距离值为预设路线点集合中初始路线点位置和其他路线点位置之间的距离;依据比较结果从路线点距离集合中选择目标距离值;确定与目标距离值对应的目标子路线,并将目标子路线作为与移动距离对应的子路线,其中,该目标子路线为与目标距离值对应的路线点与相邻的上一个路线点之间的路线。

具体地,目标对象的移动距离可以是目标对象的行进长度,该行进长度仅仅是一种距离数据,这种数据的计算依据传动装置履带的运行速度设定值以及传动装置履带的运行时间,例如,当用户在传动装置履带上进行奔跑时,履带随用户行进方向的逆向运动,因此履带的速度即用户跑步的速度v,那么用户等效路程(目标对象的移动距离)s=v*t,其中t是传动装置运行的时间值。

另外,当目标对象的移动速度为变速的时候,传动装置处理器需要将运行时间内的平均速度作为传动装置履带的运行速度,例如,传动装置运行时间为t,t=t1+t2,如果用户在t1时间内的行进速度为v1,t2时间内的行进速度为v2,那么用户行进(即传动装置运行)的平均速度为:v1*t1/(t1+t2)+v2*t2/(t1+t2),最后根据平均速度与传动装置运行的总时间t,计算目标对象的移动距离。

在本申请的另一些实施例中,可以通过以下方式选择目标距离值:依据比较结果确定小于移动距离的距离值;从小于移动距离的距离值中确定与移动距离相差最小的距离值,并将与移动距离相差最小的距离值作为目标距离值。

在相邻的两个路线点之间增加至少一个目标路线点时,为了使得平滑效果更好,还可以确定相邻的两个路线点之间的定比分点,并将定比分点作为目标路线点。

具体地,确定离散坐标的路线距离,是为了衡量离散坐标中点与点之间的距离是否满足预设的平滑条件,在实际操作中,当一段路线离散坐标点越多的时候,这段路线的行进轨迹就越趋于平滑,那么为了达到用户体验跑步轨迹是平滑感好的技术效果,需要增加对离散坐标点的处理过程。

以跑步机中的地图模拟跑功能为例,预先计算软件工具包(sdk)返回的所有离散坐标到起点坐标的路线距离,获取到底层传来的跑动距离后,会计算当前跑动距离与路线上哪个离散坐标最为接近,并将其作为用户的模拟位置,更新到地图跑界面上。其中,路线细分切割的流程如图3所示:首先,地图sdk返回的离散路线点中,部分的点与点之间直线距离过大,导致用户位置移动时出现了类似掉帧的现象,在这两个点中间生成更多的路线点。可以预设一个最大的距离阈值,如果相邻的两点距离大于这个阈值,就在这两点形成的线段上再次生成路线点。具体算法流程如图3所示。

为了使用户位置的移动更为平滑,本申请实施例根据地图sdk返回的路线离散点构成的线段进行多次切割与定比分点定位。即在相邻的两个路线点之间增加的路线点可以通过以下方式确定:确定相邻的两个路线点之间的定比分点,并将定比分点作为在相邻的两个路线点之间增加的路线点。

路线的切割解决了两个路线点之间距离过大的情况,理论上,把第1点提到的最大距离阈值设的越小,用户在路线上的移动就越平滑,但是这样会生成更多的路线点在列表中,增加了内存消耗。因此,在路线的切割后的基础上再做一层处理,就是对路线做定比分点。定比分点原理是,设坐标轴上一有向线段的起点和终点的坐标分别为x1和x2,分点m分此有向线段的比为λ,那么,分点m的坐标x=(x1+λx2)/(1+λ)。对路线做定比分点,就是允许让用户的位置根据在两个路线点的距离比例而落在分点上。具体算法如图4所示,此处不再赘述。

在本申请的一些可选实施例中,上述预设路线点集合为通过以下方式生成的:获取用于生成目标展示界面所展示地图中的目标路线的路线点;基于获取的路线点生成预设路线点集合。

具体地,获取路线点的过程可以是根据预设路线对地图上可能经过的离散坐标值进行获取,并根据这点离散坐标值进行拟合形成一个路线集合,这种集合是基于路线点而得到的,所以也是一种路线点的集合,获取路线点的过程还可以是根据用户行进的路程计算出发点到路程终点的位置,那么基于终点位置与出发点的位置生成途径的离散点坐标,并根据这些坐标生成路径集合。例如,离散坐标点位(a1,b1)(a2,b2)(a3,b3),那么通过处理器计算后所生产的路径集合为q={(a1,b1)(a2,b2)(a3,b3)},其中q是这一条路径所有坐标点的集合。

本申请实施例提供的上述方案,采用在目标路线对应的预设路线点集合中的相邻路线点之间增加新的路线点的方式,由于增加了新的路线点,因此,可以使得用户的移动位置在移动时的显示效果更加平滑,进而解决了相关技术中由于依据离散的坐标点模拟用户位置的移动导致用户位置的移动出现不连续的效果的技术问题。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1