CN103997711A - 在移动终端上实现定位服务的方法以及软件开发包模块 - Google Patents
在移动终端上实现定位服务的方法以及软件开发包模块 Download PDFInfo
- Publication number
- CN103997711A CN103997711A CN201310054081.9A CN201310054081A CN103997711A CN 103997711 A CN103997711 A CN 103997711A CN 201310054081 A CN201310054081 A CN 201310054081A CN 103997711 A CN103997711 A CN 103997711A
- Authority
- CN
- China
- Prior art keywords
- location
- scanning
- mobile terminal
- result
- positioning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Position Fixing By Use Of Radio Waves (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种在移动终端上的程序内实现定位服务的方法,该方法包括:接收用户使用移动终端内应用软件触发的定位请求;根据该定位请求启动多个定位线程;所述多个定位线程并行运行,以生成定位依据;将所述定位依据发送至定位服务器,并接收所述定位服务器反馈的定位结果。相应地,本发明还提供了一种SDK模块。上述方法或SDK模块应用于移动终端上的程序,能提升所述程序的定位精度、定位成功率和定位效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种在移动终端上的程序内实现定位服务的方法以及软件开发包模块。
背景技术
随着移动网络技术的普及以及移动终端定位技术的不断发展,移动搜索用户开始习惯于使用移动终端上各类应用软件提供的基于位置的服务(Location Based Service,LBS)。
上述基于位置的服务器实现依赖移动终端提供的定位功能,现有的移动终端可以扫描到其所属基站的基站号、GPS定位的经纬度和周围WIFI信号源的MAC地址等等信息,上述基站号、GPS定位的经纬度和MAC地址等信息称为定位依据,移动终端将该定位依据传送到服务器之后,服务器可以利用这些信息推算用户的位置。因而实现上述定位功能的首要问题是采集定位依据。现有技术中,安装在移动终端上的应用程序需要自行采集定位依据,并且将其发送到服务器来完成定位,而所述定位依据的采集方式繁多而复杂。一方面,所述应用程序的开发者难以完全掌握所述定位依据的获取技术,因此面对多种实际的应用场景,所述应用程序往往会因为采集到的信息不够连续以及准确性不高而引起定位精度差或者定位失败;另一方面,所述定位依据是通过基站定位、WIFI定位等多种定位方式综合确定的,现有技术中的应用程序通常是顺序地执行上述多种定位方式以最终获得所述定位依据,该过程效率低下。
发明内容
本发明的目的在于提供一种在移动终端上的程序内实现定位服务的方法以及SDK(Software Development Kit,软件开发包)模块,以解决现有技术中存在的缺陷。
为达到上述目的,一方面,本发明提供了一种在移动终端上的程序内实现定位服务的方法,该方法包括:
接收用户使用移动终端内应用软件触发的定位请求;
根据该定位请求启动多个定位线程;
所述多个定位线程并行运行,以生成定位依据;
将所述定位依据发送至定位服务器,并接收所述定位服务器反馈的定位结果。
另一方面,本发明提供了一种在移动终端上的程序内实现定位服务的软件开发包(SDK)模块,该软件开发包模块包括:
交互接口,用于接收移动终端内的应用软件发送的定位请求;
多个定位线程,该多个定位线程根据所述定位请求而启动,并且并行运行以生成定位依据;
定位接口,用于将所述定位依据发送至定位服务器,并接收所述定位服务器反馈的定位结果。
本发明提供的在移动终端上的程序内实现定位服务的方法以及SDK模块,通过多个定位线程并行运行以生成定位依据,相比现有技术其生成定位依据的过程的耗费时间减少且效率提高,上述方法或SDK模块应用于移动终端上的程序,能提升所述程序的定位精度、定位成功率和定位效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是根据本发明的在移动终端上的程序内实现定位服务的方法的一种具体实施方式的流程图;
图2是根据本发明的SDK模块的一种具体实施方式的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。
首先请参考图1,图1是根据本发明的在移动终端上的程序内实现定位服务的方法的一种具体实施方式的流程图,该方法包括:
步骤S100,接收用户使用移动终端内应用软件触发的定位请求;
步骤S200,根据该定位请求启动多个定位线程;
步骤S300,所述多个定位线程并行运行,以生成定位依据;
步骤S400将所述定位依据发送至定位服务器,并接收所述定位服务器反馈的定位结果。
具体地,所述多个定位线程封装在软件开发包(Software Development Kit,SDK)内,用于辅助开发某一类软件的相关文档、范例和工具的集合,本发明提供的包括上述定位线程的SDK用于开发用于移动终端的应用程序,该应用程序通常提供基于位置的服务。在开发上述应用程序的过程中,软件设计人员将所述SDK嵌入所述应用程序中,该SDK通过应用程序接口与所述应用程序的主逻辑传递参数。所述移动终端包括智能手机、平板电脑等智能终端设备,该智能终端设备上安装的操作系统包括但不限于:windows系列OS、Linux、Mac OS、Symbian、Windows Mobile、iOS、Android、Maemo、WebOS、Palm OS和Blackberry OS等操作系统。
典型地,所述定位线程是WIFI扫描后台线程、基站扫描后台线程或GPS扫描后台线程。在优选的实施例中,所述SDK中包括WIFI扫描后台线程、基站扫描后台线程和GPS扫描后台线程三种定位线程。上述各种类型的定位线程生成的定位依据的精度满足定位服务器所要求的定位依据的信息连续性和准确性。需要特别指出的是,所述多个定位线程并行运行,能提升生成所述定位依据的效率。
为了符合移动终端上运行的应用程序的具体应用场景,所述WIFI扫描后台线程的工作方法包括以下列出的方法中的一种或多种:
在扫描WIFI热点时,若扫描结果为空,则将该扫描结果赋值为本次扫描WIFI热点的开始时刻前最近的一次扫描结果,这种方法针对移动终端的WIFI信号弱的问题,尤其是当碰到WIFI扫描结果为空的情况;
在扫描WIFI热点时,对该次扫描产生的扫描结果进行重复性判断,并将完全重复的扫描结果识别为系统缓存结果,这种方法针对WIFI扫描结果可能是系统缓存结果的情况;
判断相邻的两次扫描结果的重复度是否大于一特定阈值,若大于该特定阈值则判断所述移动终端是静止状态,并延长两次扫描行为的时间间隔,优选地,所述特定阈值大于或等于50%,该方法可以避免不必要的扫描,在判断为移动终端静止的情况下节省该移动终端的电能。
基于提升定位扫描的准确度考虑:
所述基站扫描后台线程的工作方法包括:查找所述移动终端内存储多基站信息的内存地址,并读取所述多基站信息。
所述GPS扫描后台线程的工作方法包括以下列出的方法中的一种或多种:
判断GPS卫星数是否大于一预定阈值,若大于该预定阈值则将扫描接口返回的经纬度坐标判断为可信结果,优选地所述预定阈值大于或等于4,该方法有助于提升GPS定位的可信度;
若GPS定位失效,则根据历史定位结果进行拟合以生成拟合经纬度坐标,该方法针对例如天气或者建筑物遮挡等影响因素导致GPS定位失败的情况。
相应地,本发明还提供了一种在移动终端上的程序内实现定位服务的SDK模块,请参考图2,图2是根据本发明的SDK模块的一种具体实施方式的结构示意图,本部分出现的术语和部分流程可以参考前文中有关方法的实施例中相关部分的说明,图2中示出的SDK模块100包括:
交互接口110,用于接收移动终端内的应用软件发送的定位请求;
多个定位线程,该多个定位线程根据所述定位请求而启动,并且并行运行以生成定位依据;
定位接口130,用于将所述定位依据发送至定位服务器400,并接收所述定位服务器400反馈的定位结果。
具体地,该SDK模块集成在所述移动终端内的应用软件内,即在开发上述应用程序的过程中,软件设计人员将所述SDK模块嵌入所述应用程序中,所述应用程序通过互联网与定位服务器400进行通信。
典型地,所述定位线程是WIFI扫描后台线程121、基站扫描后台线程122或GPS扫描后台线程123。在优选的实施例中,SDK模块100中包括WIFI扫描后台线程121、基站扫描后台线程122和GPS扫描后台线程123三种定位线程。上述各种类型的定位线程生成的定位依据的精度满足定位服务器所要求的定位依据的信息连续性和准确性。需要特别指出的是,所述多个定位线程并行运行,能提升生成所述定位依据的效率。
由于该SDK模块100用于移动终端上的应用程序,为了符合该应用程序通常出现的应用场景,所述WIFI扫描后台线程121的工作方法包括以下列出的方法中的一种或多种:
在扫描WIFI热点时,若扫描结果为空,则将该扫描结果赋值为本次扫描WIFI热点的开始时刻前最近的一次扫描结果,这种方法针对移动终端的WIFI信号弱的问题,尤其是当碰到WIFI扫描结果为空的情况;
在扫描WIFI热点时,对该次扫描产生的扫描结果进行重复性判断,并将完全重复的扫描结果识别为系统缓存结果,这种方法针对WIFI扫描结果可能是系统缓存结果的情况;
判断相邻的两次扫描结果的重复度是否大于一特定阈值,若大于该特定阈值则判断所述移动终端是静止状态,并延长两次扫描行为的时间间隔,优选地,所述特定阈值大于或等于50%,该方法可以避免不必要的扫描,在判断为移动终端静止的情况下节省该移动终端的电能。
基于提升定位扫描的准确度考虑:
所述基站扫描后台线程122的工作方法包括:查找所述移动终端内存储多基站信息的内存地址,并读取所述多基站信息。
所述GPS扫描后台线程123的工作方法包括以下列出的方法中的一种或多种:
判断GPS卫星数是否大于一预定阈值,若大于该预定阈值则将扫描接口返回的经纬度坐标判断为可信结果,优选地所述预定阈值大于或等于4,该方法有助于提升GPS定位的可信度;
若GPS定位失效,则根据历史定位结果进行拟合以生成拟合经纬度坐标,该方法针对例如天气或者建筑物遮挡等影响因素导致GPS定位失败的情况。
特别说明的是,在一个实施例中,定位服务器400可以实施在一台物理服务器设备中,在另一些实施例中,定位服务器400可以实施为服务器集群或服务器矩阵结构,其包括的多个服务器设备协同工作以实现定位服务器400中各个模块的逻辑关系和功能。在另一些实施例中,定位服务器400实施为一种计算机程序产品,上述计算机程序产品的实施例可以通过使用用于计算机可读信息的任何记录介质来实现,所述记录介质包括磁介质、光介质或其他适合的介质。
结合现有技术,本领域技术人员应理解,该SDK模块实施为一种计算机程序产品,上述计算机程序产品的实施例可以通过使用用于计算机可读信息的任何记录介质来实现,所述记录介质包括磁介质、光介质或其他适合的介质。
本发明提供的一种在移动终端上的程序内实现定位服务的方法可以使用可编程逻辑器件结合来实现,也可以实施为计算机程序软件,例如根据本发明的实施例可以是一种计算机程序产品,运行该程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现上述方法的各个步骤。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可从计算机主体拆卸的可移动介质(例如热拔插技术存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但不限于:光存储媒体(例如CD-ROM和DVD)、磁光存储媒体(例如MO)、磁存储媒体(例如盒带或移动硬盘)、具有内置的可重写的非易失性存储器的媒体(例如存储卡)和具有内置ROM的媒体(例如ROM盒)。
本领域技术人员应当理解,任何具有适当编程装置的计算机系统都将能够执行包含在程序产品中的本发明的方法的诸步骤。尽管本说明书中描述的多数具体实施方式都侧重于软件程序,但是作为固件和硬件实现本发明提供的方法的替代实施例同样在本发明要求保护的范围之内。
本发明提供的在移动终端上的程序内实现定位服务的方法以及SDK模块,通过多个定位线程并行运行以生成定位依据,相比现有技术其生成定位依据的过程的耗费时间减少且效率提高,上述方法或SDK模块应用于移动终端上的程序,能提升所述程序的定位精度、定位成功率和定位效率。
以上所揭露的仅为本发明的一些较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (16)
1.一种在移动终端上的程序内实现定位服务的方法,该方法包括:
接收用户使用移动终端内应用软件触发的定位请求;
根据该定位请求启动多个定位线程;
所述多个定位线程并行运行,以生成定位依据;
将所述定位依据发送至定位服务器,并接收所述定位服务器反馈的定位结果。
2.根据权利要求1所述的方法,其中:
所述多个定位线程封装在软件开发包内。
3.根据权利要求1或2所述的方法,其中:
所述定位线程是WIFI扫描后台线程、基站扫描后台线程或GPS扫描后台线程。
4.根据权利要求3所述的方法,其中,所述WIFI扫描后台线程的工作方法包括:
在扫描WIFI热点时,若扫描结果为空,则将该扫描结果赋值为本次扫描WIFI热点的开始时刻前最近的一次扫描结果;和/或
在扫描WIFI热点时,对该次扫描产生的扫描结果进行重复性判断,并将完全重复的扫描结果识别为系统缓存结果;和/或
判断相邻的两次扫描结果的重复度是否大于一特定阈值,若大于该特定阈值则判断所述移动终端是静止状态,并延长两次扫描行为的时间间隔。
5.根据权利要求4所述的方法,其中:
所述特定阈值大于或等于50%。
6.根据权利要求3所述的方法,其中,所述基站扫描后台线程的工作方法包括:
查找所述移动终端内存储多基站信息的内存地址,并读取所述多基站信息。
7.根据权利要求3所述的方法,其中,所述GPS扫描后台线程的工作方法包括:
判断GPS卫星数是否大于一预定阈值,若大于该预定阈值则将扫描接口返回的经纬度坐标判断为可信结果;
若GPS定位失效,则根据历史定位结果进行拟合以生成拟合经纬度坐标。
8.根据权利要求7所述的方法,其中:
所述预定阈值大于或等于4。
9.一种在移动终端上的程序内实现定位服务的软件开发包模块,该软件开发包模块包括:
交互接口,用于接收移动终端内的应用软件发送的定位请求;
多个定位线程,该多个定位线程根据所述定位请求而启动,并且并行运行以生成定位依据;
定位接口,用于将所述定位依据发送至定位服务器,并接收所述定位服务器反馈的定位结果。
10.根据权利要求9所述的软件开发包模块,其中:
所述定位线程是WIFI扫描后台线程、基站扫描后台线程或GPS扫描后台线程。
11.根据权利要求10所述的软件开发包模块,其中,所述WIFI扫描后台线程的工作方法包括:
在扫描WIFI热点时,若扫描结果为空,则将该扫描结果赋值为本次扫描WIFI热点的开始时刻前最近的一次扫描结果;和/或
在扫描WIFI热点时,对该次扫描产生的扫描结果进行重复性判断,并将完全重复的扫描结果识别为系统缓存结果;和/或
判断相邻的两次扫描结果的重复度是否大于一特定阈值,若大于该特定阈值则判断所述移动终端是静止状态,并延长两次扫描行为的时间间隔。
12.根据权利要求11所述的软件开发包模块,其中:
所述特定阈值大于或等于50%。
13.根据权利要求10所述的软件开发包模块,其中,所述基站扫描后台线程的工作方法包括:
查找所述移动终端内存储多基站信息的内存地址,并读取所述多基站信息。
14.根据权利要求10所述的软件开发包模块,其中,所述GPS扫描后台线程的工作方法包括:
判断GPS卫星数是否大于一预定阈值,若大于该预定阈值则将扫描接口返回的经纬度坐标判断为可信结果;
若GPS定位失效,则根据历史定位结果进行拟合以生成拟合经纬度坐标。
15.根据权利要求14所述的软件开发包模块,其中:
所述预定阈值大于或等于4。
16.根据权利要求9至15任一项所述的软件开发包模块,其中:
该软件开发包模块集成在所述应用软件内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310054081.9A CN103997711A (zh) | 2013-02-20 | 2013-02-20 | 在移动终端上实现定位服务的方法以及软件开发包模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310054081.9A CN103997711A (zh) | 2013-02-20 | 2013-02-20 | 在移动终端上实现定位服务的方法以及软件开发包模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103997711A true CN103997711A (zh) | 2014-08-20 |
Family
ID=51311693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310054081.9A Pending CN103997711A (zh) | 2013-02-20 | 2013-02-20 | 在移动终端上实现定位服务的方法以及软件开发包模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103997711A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104359495A (zh) * | 2014-11-20 | 2015-02-18 | 百度在线网络技术(北京)有限公司 | 一种应用的测试方法及装置 |
CN105049243A (zh) * | 2015-06-30 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种用户mac定位方法、系统及服务器 |
CN105262832A (zh) * | 2015-10-30 | 2016-01-20 | 安一恒通(北京)科技有限公司 | 一种地理位置信息的处理方法及装置 |
CN105430715A (zh) * | 2015-10-22 | 2016-03-23 | 小米科技有限责任公司 | 控制wifi扫描的方法及装置 |
CN105792122A (zh) * | 2014-12-24 | 2016-07-20 | 深圳市腾讯计算机系统有限公司 | 业务定位方法及装置 |
CN106648913A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 数据采集软件标识方法及装置 |
WO2017092260A1 (zh) * | 2015-11-30 | 2017-06-08 | 乐视控股(北京)有限公司 | 一种移动终端行为上报方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158801A (zh) * | 2011-02-15 | 2011-08-17 | 广州市动景计算机科技有限公司 | 面向移动终端用户的精准位置信息服务方法和装置 |
WO2011148741A1 (ja) * | 2010-05-26 | 2011-12-01 | 株式会社 エヌ・ティ・ティ・ドコモ | 測位装置及び方法 |
CN102281628A (zh) * | 2010-12-31 | 2011-12-14 | 吴东辉 | 基于网站或网络服务器的移动终端定位、测速的方法和系统 |
CN103458368A (zh) * | 2012-05-28 | 2013-12-18 | 上海飞田通信技术有限公司 | 基于智能移动终端的多地标查询系统和方法 |
-
2013
- 2013-02-20 CN CN201310054081.9A patent/CN103997711A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011148741A1 (ja) * | 2010-05-26 | 2011-12-01 | 株式会社 エヌ・ティ・ティ・ドコモ | 測位装置及び方法 |
CN102281628A (zh) * | 2010-12-31 | 2011-12-14 | 吴东辉 | 基于网站或网络服务器的移动终端定位、测速的方法和系统 |
CN102158801A (zh) * | 2011-02-15 | 2011-08-17 | 广州市动景计算机科技有限公司 | 面向移动终端用户的精准位置信息服务方法和装置 |
CN103458368A (zh) * | 2012-05-28 | 2013-12-18 | 上海飞田通信技术有限公司 | 基于智能移动终端的多地标查询系统和方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104359495A (zh) * | 2014-11-20 | 2015-02-18 | 百度在线网络技术(北京)有限公司 | 一种应用的测试方法及装置 |
CN105792122A (zh) * | 2014-12-24 | 2016-07-20 | 深圳市腾讯计算机系统有限公司 | 业务定位方法及装置 |
CN105049243A (zh) * | 2015-06-30 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种用户mac定位方法、系统及服务器 |
CN105430715A (zh) * | 2015-10-22 | 2016-03-23 | 小米科技有限责任公司 | 控制wifi扫描的方法及装置 |
CN105430715B (zh) * | 2015-10-22 | 2018-12-11 | 小米科技有限责任公司 | 控制wifi扫描的方法及装置 |
CN105262832A (zh) * | 2015-10-30 | 2016-01-20 | 安一恒通(北京)科技有限公司 | 一种地理位置信息的处理方法及装置 |
CN106648913A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 数据采集软件标识方法及装置 |
WO2017092260A1 (zh) * | 2015-11-30 | 2017-06-08 | 乐视控股(北京)有限公司 | 一种移动终端行为上报方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103997711A (zh) | 在移动终端上实现定位服务的方法以及软件开发包模块 | |
CN110989926B (zh) | 故障磁盘槽位定位方法、装置及电子设备 | |
CN105139686A (zh) | 一种车位导航方法及移动终端 | |
CN103353869A (zh) | 一种基于用户位置的搜索结果提供方法以及服务器 | |
CN112848954A (zh) | 一种电动汽车的充电方法及系统,存储介质 | |
CN104359495A (zh) | 一种应用的测试方法及装置 | |
CN110567468A (zh) | 道路轨迹获取方法、设备及存储介质 | |
US11593538B2 (en) | Verification, modification, and/or validation of an infrastructure design document via improved collaboration between on site devices and remote devices | |
CN113776520B (zh) | 地图构建、使用方法、装置、机器人和介质 | |
CN113015117A (zh) | 一种用户定位方法、装置、电子设备和存储介质 | |
CN104134033A (zh) | 一种识别用户设备的方法以及装置 | |
CN105635975A (zh) | 一种网络呼叫车辆的方法和装置 | |
CN108399128A (zh) | 一种用户数据的生成方法、装置、服务器及存储介质 | |
EP3674178A1 (en) | Parking control method and apparatus, electronic device and storage medium | |
CN109446433B (zh) | 一种兴趣点失效校验方法、装置、服务器及存储介质 | |
CN113624245B (zh) | 导航方法及装置、计算机存储介质、电子设备 | |
CN109241059A (zh) | 一种点云数据的构造方法、装置、电子设备及存储介质 | |
CN113858167B (zh) | 自动更换上装模块的控制方法及相关装置 | |
CN115639564A (zh) | 车辆定位方法、装置、电子设备、存储介质 | |
CN109655851A (zh) | 一种修正方法、装置、设备及存储介质 | |
EP3572771B1 (en) | Method and device for acquiring dynamic map data, and storage medium | |
CN113858168A (zh) | 自动更换上装模块的控制方法及相关装置 | |
CN113094000A (zh) | 一种车辆信号的存储方法、装置、存储设备及存储介质 | |
CN112333264B (zh) | 调试终端的管理方法及装置、电子设备及存储介质 | |
CN110751003A (zh) | 一种获取二维码的目标数据信息的方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140820 |