一种获取终端位置信息的方法及装置与流程

文档序号:12135473阅读:234来源:国知局
一种获取终端位置信息的方法及装置与流程
本发明涉及通信
技术领域
,尤其涉及一种获取终端位置信息的方法及装置。
背景技术
:随着通信技术的发展,终端中基于位置的应用越来越多,例如:导航应用和团购应用等。这类应用在为用户提供服务时需要调用终端的位置信息。目前,常用的终端定位方法包括基于无线通信网络基站的定位法和基于全球定位系统(英文:GlobalPositioningSystem,GPS)的定位法。其中,基于无线通信网络基站的定位法为:通过检测终端和蜂窝网内多个蜂窝区基站之间传播信号的特征参数计算终端的位置信息;基于GPS的定位法为:通过同一时刻终端从3颗或3颗以上卫星接收到的星历参数和时间信息计算终端的位置信息。然而,终端所处环境网络信号较差时,基于无线通信网络基站的定位法耗时较长且定位误差较大;终端位于室内或者覆盖终端的卫星少于3颗时,基于GPS的定位方法无法进行定位。也就意味着,当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息。技术实现要素:本发明提供一种获取终端位置信息的方法及装置,能够解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题。为达到上述目的,本发明采用如下技术方案:第一方面,本发明提供一种获取终端位置信息的方法,该方法包括:启动应用后,发送获取当前位置信息的请求;若在指定时间内未获取到所述当前位置信息,则将预存储的位置信息确定为所述当前位置信息,以便于所述应用根据所述预存储的位置信息提供服务。第二方面,本发明提供一种获取终端位置信息的装置,该装置包括;获取单元,用于启动应用后,发送获取当前位置信息的请求;确定单元,用于当所述获取单元在指定时间内未获取到所述当前位置信息时,将预存储的位置信息确定为所述当前位置信息,以便于所述应用根据所述预存储的位置信息提供服务。本发明提供的获取终端位置信息的方法及装置,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在指定时间内未获取到终端的位置信息时,将预存储的位置信息确定为终端的当前位置信息。这样一来,在终端所处环境比较封闭且网络信号较差的情况下,本发明能够通过预存储的数据直接提供终端的位置信息,以供应用使用。因此,本发明能够解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本发明实施例提供的一种获取终端位置信息的方法流程图;图2为本发明实施例提供的另一种获取终端位置信息的方法流程图;图3为本发明实施例提供的另一种获取终端位置信息的方法流程图;图4为本发明实施例提供的另一种获取终端位置信息的方法流程图;图5为本发明实施例提供的一种获取终端位置信息的装置结构示意图;图6为本发明实施例提供的一种终端的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例提供一种获取终端位置信息的方法,如图1所示,该方法可以由终端执行,该方法流程具体包括:101、启动应用后,发送获取当前位置信息的请求。在本发明实施例中,终端具有支持定位功能的模块,终端能够从该模块获取当前位置信息。其中,支持定位功能的模块可以使用诸如基于无线通信网络基站或者基于GPS等的定位法来确定终端的当前位置信息。终端中基于位置的应用在提供服务时,可以通过向支持定位功能的模块发送获取当前位置信息的请求来获取终端的当前位置信息,以便于应用基于终端的当前位置信息提供相应的服务。例如,用户启动大众点评应用后,大众点评应用通过向支持定位功能的模块发送获取当前位置信息的请求来获取终端的当前位置信息,从而向用户提供附近餐馆的用户评价;用户启动地图应用后,地图应用通过向支持定位功能的模块发送获取当前位置信息的请求来获取终端的当前位置信息,从而为用户规划路线。102、若在指定时间内未获取到当前位置信息,则将预存储的位置信息确定为当前位置信息。在本发明实施例中,可以将支持定位功能的模块确认定位失败的时间长度确定为指定时间,也可以将用户能够接受的定位等待时间确定为指定时间,对于指定时间的设置方法本发明不作限定。指定时间设置后,用户可以修改指定时间。目前,支持定位功能的模块确认定位失败的时间长度为2秒或3秒。终端所处环境比较封闭或网络信号较差等原因可能会造成终端在指定时间内通过支持定位功能的模块获取当前位置信息失败。此时,可以将终端中预存储的位置信息确定为当前位置信息,以便于应用根据预存储的位置信息提供服务。本发明实施例提供的获取终端位置信息的方法,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在指定时间内未获取到终端的位置信息时,将预存储的位置信息确定为终端的当前位置信息。这样一来,在终端所处环境比较封闭且网络信号较差的情况下,本发明能够通过预存储的数据直接提供终端的位置信息,以供应用使用。因此,本发明能够解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题。为了保证应用根据终端中预存储的位置信息确定终端位置时,误差较小,在本发明实施例的一个实现方式中,可以周期性的更新终端中预存储的数据。因此,在如图1所示的实现方式的基础上,还可以实现为如图2所示的实现方式。其中,在执行步骤102若在指定时间内未获取到当前位置信息,则将预存储的位置信息确定为当前位置信息之前,还可以执行步骤103至步骤106:103、按照预设时间间隔,确定终端的位置信息。终端中支持定位功能的模块按照预设时间间隔周期性的确定终端的位置信息。其中,预设时间间隔可以由用户根据需求自定义设置,例如:3秒。可以理解的是,当预设时间间隔较小时,终端的实际位置信息与预存储的位置信息差距较小,但占用的系统资源较多;当预设时间间隔较大时,终端的实际位置信息与预存储的位置信息差距较大,但占用的系统资源较少。104、确定是否为首次确定终端的位置信息。若是,则执行步骤105,否则,执行步骤106。105、建立并存储位置信息与定位时刻之间的对应关系。在本发明实施例中,预存储的数据的存储结构可以如表1所示。其中,定位时刻为确定位置信息的时刻,定位时刻的数据类型可以为Date(中文:日期)类型;终端的位置信息使用经纬度表示,经度和纬度的数据类型可以为Double(中文:双精度)类型。表1预存储的数据的存储结构纬度经度定位时刻106、根据位置信息和定位时刻更新预存储的位置信息和定位时刻。本发明实施例提供的获取终端位置信息的方法,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题的基础上,通过周期性更新预存储的位置信息,从而减小根据预存储的位置信息确定终端位置时的误差。为了减小预存储的数据在更新过程中产生的误差,在本发明实施例的一个实现方式中,可以在更新预存储的数据前,对更新过程所使用的位置信息和定位时刻进行合理性验证。因此,在如图2所示的实现方式的基础上,还可以实现为如图3所示的实现方式。其中,步骤106根据位置信息和定位时刻更新预存储的位置信息和定位时刻可以具体实现为步骤1061至步骤1064:1061、读取预存储的位置信息,并根据定位时刻终端的位置信息和读取的位置信息确定终端的位移。可以理解的是,为了保证预存储的位置信息是最接近当前时刻的位置信息,需要使用最近一次确定的位置信息覆盖之前确定的位置信息。因此,在本发明实施例中,可以当定位时刻大于预存储的定位时刻时执行步骤1061。需要说明的是,定位时刻终端的位置信息(φ1,λ1)与预存储的位置信息(φ2,λ2)之间的距离d的计算方法为:d=111.12cos{1/[sinφ1*sinφ2+cosφ1cosφ2(λ2-λ1)]}。其中,φ1和φ2为纬度,λ1和λ2为经度。d实际表示的是定位时刻终端的位置与预存储的定位时刻终端的位置之间的距离。1062、确定终端的位移是否在位移阈值内。若是,则执行步骤1063;否则,执行步骤1064。考虑到在一定时间内终端的位移是有限的,若在一定时间内终端的移动距离超过一定距离,则表明在确定终端的位置信息的过程中可能产生了错误,不能使用该位置信息更新预存储的位置信息。在本发明实施例中,还可以在确定终端的位置信息之后,确定定位时刻与预存储的定位时刻之间的时间间隔内,终端的平均速度。之后确定终端的平均速度是否在速度阈值内;若是,则执行步骤1063;否则,执行步骤1064。其中,终端的平均速度=定位时刻终端的位置信息和预存储的位置信息确定终端的位移/定位时刻与预存储的定位时刻之间的时间间隔。需要说明的是,位移阈值可以根据预设时间间隔设置,呈正相关。1063、将预存储的位置信息更新为定位时刻终端的位置信息,并将预存储的定位时刻更新为定位时刻。1064、保持预存储的位置信息和定位时刻不变。本发明实施例提供的获取终端位置信息的方法,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题的基础上,根据预存储的位置信息和定位时刻检查确定的位置信息的合理性,当检查通过时,通过将坐预存储的位置信息更新为位置信息,并将预存储的定位时刻更新为定位时刻,从而避免更新预存储的数据的过程中产生错误。为了及时更新预存储的数据,在本发明实施例的一个实现方式中,根据当前时刻获取到的位置信息更新预存储的数据。因此,在如图1所示的实现方式的基础上,还可以实现为如图4所示的实现方式。其中,在执行步骤101启动应用后,发送获取当前位置信息的请求之后还可以执行步骤107:107、若在指定时间内获取到当前位置信息,则根据当前位置信息更新预存储的位置信息,并根据获取当前位置信息的时刻更新预存储的定位时刻。需要说明的是,终端在指定时间内获取到了当前位置信息后,可以根据预存储的位置信息和定位时刻,检查当前位置信息的合理性。合理性检查通过后,再将当前位置信息提供给应用使用,并根据当前位置信息和获取当前位置信息的时刻更新预存储的数据。本发明实施例提供的获取终端位置信息的方法,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题的基础上,根据当前位置信息和获取当前位置信息的时刻更新预存储的数据,从而进一步提高根据预存储的位置信息进行定位的准确性。本发明实施例提供一种获取终端位置信息的装置20,该装置20可以用于执行如图1至图4所示的任意一套方法流程,如图5所示,该装置20包括:获取单元201,用于启动应用后,发送获取当前位置信息的请求。确定单元202,用于当获取单元201在指定时间内未获取到当前位置信息时,将预存储的位置信息确定为当前位置信息,以便于应用根据预存储的位置信息提供服务。在本发明实施例的一个实现方式中,装置20还包括:定位单元203,用于按照预设时间间隔,确定终端的位置信息。存储单元204,用于当定位单元203是首次确定终端的位置信息时,建立并存储位置信息与定位时刻之间的对应关系,定位时刻为确定终端的位置信息的时刻。更新单元205,用于当定位单元203不是首次确定终端的位置信息,则根据位置信息和定位时刻预存储的位置信息和定位时刻。在本发明实施例的一个实现方式中,更新单元205具体用于:读取预存储的位置信息,并根据定位时刻终端的位置信息与读取的位置信息确定终端的位移;当终端的位移在位移阈值内时,将预存储的位置信息更新为定位时刻终端的位置信息,并将预存储的定位时刻更新为定位时刻。在本发明实施例的一个实现方式中,更新单元205,还用于当终端的位移不在位移阈值内时,保持预存储的位置信息和定位时刻不变。在本发明实施例的一个实现方式中,更新单元205,还用于当获取单元201在指定时间内获取到当前位置信息时,根据当前位置信息更新预存储的位置信息,并根据获取当前位置信息的时刻更新预存储的定位时刻。本发明实施例提供的获取终端位置信息的装置,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在指定时间内未获取到终端的位置信息时,将预存储的位置信息确定的终端为当前位置信息。这样一来,在终端所处环境比较封闭且网络信号较差的情况下,本发明能够通过预存储的数据直接提供终端的位置信息,以供应用使用。因此,本发明能够解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题。本发明实施例还提供一种终端30,如图6所示,该终端30包括:至少一个处理器301、诸如触摸显示屏的输入/输出设备302。其中,输入/输出设备302用于获取用户的操作,例如指定时间、预设时间间隔等,以及向用户呈现操作结果和提示信息,例如用户更改指定时间后提示用户修改成功等;处理器301用于执行计算机指令。处理器301可以在启动应用后,发送获取当前位置信息的请求,以便于应用根据当前位置信息提供服务;当在指定时间内未获取到当前位置信息时,将预存储的位置信息确定为当前位置信息,从而在当终端所处环境比较封闭且网络信号较差时,应用可以根据预存储的位置信息提供服务。处理器301还用于按照预设时间间隔,确定终端的位置信息;在首次确定终端的位置信息时,建立并存储位置信息与定位时刻之间的对应关系;在非首次确定终端的位置信息时,根据位置信息和定位时刻更新预存储的数据。处理器301根据位置信息和定位时刻更新预存储的数据的具体处理过程为:读取预存储的位置信息,并根据定位时刻终端的位置信息与读取的位置信息确定终端的位移,当终端的位移在位移阈值内时,将预存储的位置信息更新为位置信息,并将预存储的定位时刻更新为定位时刻,从而提高根据预存储的数据确定当前位置信息的准确性。相对应的,处理器301还可以当终端的位移不在位移阈值内时,保持预存储的位置信息和定位时刻不变,从而避免更新过程中产生错误。进一步的,处理器301还可以在指定时间内获取到了当前位置信息时,根据当前位置信息更新预存储的位置信息,并根据获取当前位置信息的时刻更新预存储的定位时刻。此外,该终端30还包括通信总线303、存储器304和收发器305。其中,通信总线303用于实现上述组件之间的连接通信,存储器304用于存储计算机指令及需要保存的数据,例如指定时间、预设时间间隔、位置信息和定位时刻等,收发器305用于与其他设备进行通信。本发明实施例提供的终端,相比较于现有技术中的终端所处环境网络信号较差时无法基于无线通信网络基站进行定位,以及终端位于室内或者覆盖终端的卫星少于3颗时,无法基于GPS进行定位,本发明在指定时间内未获取到终端的位置信息时,将预存储的位置信息确定为终端的当前位置信息。这样一来,在终端所处环境比较封闭且网络信号较差的情况下,本发明能够通过预存储的数据直接提供终端的位置信息,以供应用使用。因此,本发明能够解决当终端所处环境比较封闭且网络信号较差时,终端获取位置信息时间较长,或者无法获取位置信息的问题。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-OnlyMemory,ROM)或随机存储记忆体(英文:RandomAccessMemory,RAM)等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1