环境适配的定位方法及系统
文献发布时间:2023-06-19 10:32:14
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种环境适配的定位方法及系统。
背景技术
一个页面链接可以通过多种方式打开,例如:微信、银行应用程序(Application,APP)或者其他的未知环境。然而,现有技术中,特定的页面只有在指定环境中运行才会有较高定位成功率,例如:只有在微信中运行定位成功率最高,不能实现多个环境运行均有高成功率和高准确度的定位效果。
故,本发明旨在解决如何提高一个页面在多种环境运行时的定位成功率和准确度的问题。
发明内容
有鉴于此,有必要提供一种环境适配的定位方法、系统、计算机设备及计算机可读存储介质,能够解决现有技术中如何提高一个页面在多种环境运行时的定位成功率和准确度的问题。
为实现上述目的,本发明实施例提供了一种环境适配的定位方法,所述方法包括:
接收终端发送的表示用户请求打开预设页面的请求信息,识别所述请求信息中用于运行所述预设页面的宿主的用户代理,并根据识别出的用户代理确定所述预设页面的运行环境;
根据所述运行环境获取与所述运行环境对应的定位方式,并通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据;
判断所述运行环境是否为所述预设页面指定的目标运行环境,其中,在所述目标运行环境下所述预设页面的定位结果准确率大于预设值;及
当所述运行环境不是所述预设运行环境时,将所述运行环境下的定位结果数据进行坐标系的转换,并将转换后得到的目标位置信息发送至所述终端,以使所述终端显示所述目标位置信息。
可选地,所述识别所述请求信息中用于运行所述预设页面的宿主的用户代理,并根据识别的用户代理确定所述预设页面的运行环境,包括:
将所述用户代理进行大小写的转换,并从转换结果的预设位置提取对应的字符串关键字;
将所述字符串关键字指向的运行环境确定为所述预设页面的运行环境。
可选地,所述将所述字符串关键字指向的运行环境确定为所述预设页面的运行环境,包括:
通过正则匹配方式对所述字符串关键字进行识别,得到识别结果;
将所述识别结果与预设的关键字环境映射表进行匹配,得到与所述识别结果对应的运行环境,其中,所述预设的关键字环境映射表存储有预设的关键字和与所述关键字对应的运行环境。
可选地,所述运行环境包括银行应用程序,所述通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据,包括:
当所述运行环境为所述银行应用程序时,通过全球定位系统和因特网协议定位方法进行定位得到定位结果;
保存所述定位结果于本地;
通过桥接方式从所述本地获取所述定位结果数据。
可选地,所述运行环境还包括微信,所述通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据,包括:
当所述运行环境为所述微信时,则通过软件开发工具包方式进行定位,以获取所述定位结果数据。
可选地,所述运行环境还包括未知环境,所述通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据,包括:
当所述运行环境为所述未知环境时,通过精准因特网协议定位方法、浏览器定位方法或所述软件开发工具包定位方法进行定位,以获取所述定位结果数据。
可选地,所述方法还包括:
将所述目标位置信息进行缓存,并上传至区块链中。
为实现上述目的,本发明实施例还提供了一种环境适配的定位系统,所述系统包括:
识别模块,用于获取终端发送的表示用户请求打开预设页面的请求信息,识别所述请求信息中用于运行所述预设页面的宿主的用户代理,并根据识别的用户代理确定所述预设页面的运行环境;
定位模块,用于根据所述运行环境获取与所述运行环境对应的定位方式,并通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据;
判断模块,用于判断所述运行环境是否为所述预设页面指定的目标运行环境,其中,在所述目标运行环境下所述预设页面的定位结果准确率大于预设值;及
输出模块,用于当所述运行环境不是所述预设运行环境时,将所述运行环境下的定位结果数据进行坐标系的转换,并将转换后得到的目标位置信息发送至所述终端,以使所述终端显示所述目标位置信息。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上所述的环境适配的定位方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的环境适配的定位方法的步骤。
本发明实施例提供的环境适配的定位方法、系统、计算机设备及计算机可读存储介质,通过识别预设页面的运行环境,并根据所述运行环境对应的定位方式对用户的位置进行定位以得到所述运行环境下的定位结果数据,判断所述运行环境是否为预设环境,并当所述运行环境不是预设环境时,进行坐标系的转换,并将转换后的目标位置信息发送至终端,以使所述终端显示所述目标位置信息,能够在不同环境均能够获取精确的定位结果,并且将不同运行环境下的定位结果数据进行坐标系的转换,使得不同运行环境输出的位置信息相同,给用户准确的数据推荐,提供用户更好的用户体验。本发明实施例,还可以通过极少的代码完成定位系统的接入,极大地减少了开发工作量,提升了开发效率。
附图说明
图1为本发明实施例之环境适配的定位方法的应用环境图;
图2为本发明实施例之环境适配的定位方法的步骤流程图;
图3为图2步骤S101中所述识别所述请求信息中用于运行所述预设页面的宿主的用户代理,并根据识别的用户代理确定所述预设页面的运行环境的一种示例性的步骤流程图;
图4为图3中所述步骤S202的一种示例性的步骤流程图;
图5为本发明实施例之环境适配的定位系统的程序模块示意图;
图6为本发明实施例之计算机设备的硬件架构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1,示出了本发明实施例之环境适配的定位方法的一种示例性的应用环境图。图1中,当检测到用户打开预设页面时,通过调用环境适配的定位系统识别打开所述预设页面的运行环境,例如识别为银行APP、微信或者未知环境,根据识别结果调用对应的定位方法,将定位结果返回至所述页面并进行缓存。
参阅图2,示出了本发明实施例之环境适配的定位方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。需要说明是,本实施例以服务器为执行主体进行示例性描述。具体包括以下步骤:
步骤S101:接收终端发送的表示用户请求打开预设页面的请求信息,识别所述请求信息中用于运行所述预设页面的宿主的用户代理(User Agent,UA),并根据识别的用户代理确定所述预设页面的运行环境。所述运行环境可以包括:微信、银行APP或未知环境。
需要说明的是,所述用户代理是HTTP请求中的用户标识,是一个特殊字符串,使得服务器能够识别客户端使用的操作系统及版本、中央处理器(Center Processing Unit,CPU)类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。当用户所在的终端检测到用户打开所述预设页面的操作指令时,所述终端发送表示所述用户请求打开预设页面的请求信息至所述服务器。然后所述服务器接收所述终端发送的表示所述用户请求打开所述预设页面的请求信息,其中所述请求信息中包括所述预设页面的宿主的用户代理。由于所述用户代理标识有所述用户所在终端的浏览器及版本等信息,通过识别所述用户代理,即可获取所述用户所在终端打开所述预设页面的运行环境。
在具体实施例中,当检测到所述用户进入所述预设页面时,在进行定位时,还需要加载NEST-TOOLS.js开发框架,然后通过调用位置获取(getLocation)方法以实现定位。
在示例性的实施例中,如图3所示,所述步骤S101中所述识别所述请求信息中用于运行所述预设页面的宿主的用户代理,并根据识别的用户代理确定所述预设页面的运行环境,可以包括:
步骤S201:将所述用户代理进行大小写的转换,并从转换结果的预设位置提取对应的字符串关键字;
步骤S202:将所述字符串关键字指向的运行环境确定为所述预设页面的运行环境。
具体地,由于用户代理中包括大小写字母,通过将所述用户代理全部转换为小写,以对所述用户代理的格式统一化。由于所述用户代理为一长串的字符串,且所述字符串的每个位置标识有对应的终端信息。例如:用户在所述终端打开的所述预设页面的运行环境在所述用户代理中的位置是固定或预设的。通过从转换后的用户代理的预设位置可直接提取对应的字符串,从所述预设位置提取出的所述字符串即表示所述预设页面的运行环境。如图1,确定运行环境为银行APP、微信或未知环境。
在示例性的实施例中,如图4所示,所述步骤S202可以包括:
步骤S301:通过正则匹配方式对所述字符串关键字进行识别,得到识别结果;
步骤S302:将所述识别结果与预设的关键字环境映射表进行匹配,得到与所述识别结果对应的运行环境,其中,所述预设的关键字环境映射表存储有预设的关键字和与所述关键字对应的运行环境。
具体地,例如,字符串关键字为MicroMessenger,通过正则匹配,识别出所述MicroMessenger。由于所述预设的关键字环境映射表存储有MicroMessenger与微信的映射关系、paebank与平安银行口袋APP的映射关系、banka与口袋银行家的映射关系以及pars与金管家的映射关系。通过将所述MicroMessenger与预设的关键字环境映射表进行匹配,得到所述MicroMessenger的运行环境为微信。字符串关键字为paebank,则识别出所述运行环境为平安银行口袋APP。字符串关键字为banka,则识别出所述运行环境为口袋银行家。字符串关键字为pars,则识别出所述运行环境为金管家。
步骤S102:根据所述运行环境获取与所述运行环境对应的定位方式,并通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据。
需要说明的是,根据运行环境的不同以及运行环境采用的定位方法的不同,所述定位结果数据所处的坐标系也存在不同。也即,同一页面在相同位置通过不同运行环境打开时,所获取的定位结果数据不同。因此,不同的运行环境会存在定位不准确的情况。
在示例性的实施例中,当所述运行环境为所述银行应用程序时,通过全球定位系统(Global Positioning System,GPS)和因特网协议(Internet Protocol,IP)定位方法进行定位得到定位结果,保存所述定位结果于本地,并通过桥接方式从所述本地获取所述定位结果数据。例如,通过所述GPS和所述IP定位方法进行定位,然后将定位获取的经纬度数据保存在本地,然后从本地获取所述经纬度数据。所述用户位置信息包括城市名称、城市ID和街道名称等。需要说明的是,在实际应用中,可同时采用上述定位方法进行定位,只需其中一种定位方法定位成功即可获取所述运行环境下的定位结果数据。
在另一示例性的实施例中,当所述运行环境为所述微信时,则通过软件开发工具包(Software Development Kit,SDK)获取所述定位结果数据。例如:微信的定位方法中使用的坐标系为GCJ-02坐标系,则通过SDK获取的定位结果数据为GCJ-02坐标系下的经纬度数据。
在另一示例性的实施例中,当所述运行环境为未知环境时,则通过精准IP定位、浏览器定位以及SDK定位方法进行定位。例如:当所述用户在定位时,如果精准IP定位方法无法成功定位,可通过浏览器定位方法进行定位,若所述浏览器定位方法也无法定位,则采用SDK定位方法进行定位。当然,在实际应用中,同样可同时采用上述定位方法进行定位,只需其中一种定位方法定位成功即可获取所述运行环境下的定位结果数据。
步骤S103:判断所述运行环境是否为所述预设页面指定的目标运行环境,其中,在所述目标运行环境下所述预设页面的定位结果准确率大于预设值。
由于不同运行环境下获取的定位结果数据所处的坐标系不同,通过判断所述运行环境是否为预设运行环境,进而所述运行环境下获取的定位结果数据是否需要进行转换。
步骤S104:当所述运行环境不是所述预设运行环境时,将所述运行环境下的定位结果数据进行坐标系的转换,并将转换后得到的目标位置信息发送至所述终端,以使所述终端显示所述目标位置信息。
所述目标位置信息可以包括:城市名称、城市ID以及街道等信息。
示例性地,例如,微信运行环境对应的定位方法的坐标系为GCJ-02坐标系,通过将获取的GCJ-02坐标系下的经纬度数据转换成百度坐标系下的目标经纬度数据,然后根据所述目标经纬度数据进行地址信息的转换,得到所述目标位置信息。在其他实施例中,所述目标位置信息还可以包括所述目标经纬度数据,以将所述目标经纬度数据、城市名称、城市ID以及街道等信息发送至用户终端。
在一示例性的实施例中,将所述目标位置信息进行缓存,以避免资源浪费。具体地,当获取到所述目标位置信息后,将所述目标位置信息缓存至内存中。在用户移动的过程中,由于在短时间内,用户的移动距离短,所述用户的位置不会发生巨大的改变,故在预设时间内,持续将缓存在所述内存中的所述目标位置信息显示在用户终端的显示界面。当超过该预设时间后,重新对所述用户进行定位,并重新进行缓存。例如:每10分钟更新一次定位信息,在这10分钟内使用上一次的定位信息并显示在所述用户终端的显示界面。通过将缓存所述目标位置信息,并在预设时间内直接获取所述目标位置信息并显示在所述用户终端的显示界面,能够避免一直进行定位的情况,避免了计算机资源的浪费,提高了计算机的处理性能,以及定位成功率。
在一示例性的实施例中,所述方法还包括:将所述目标位置信息上传至区块链中。所述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
在示例性的实施例中,所述方法还包括:当定位异常或者定位失败时,将定位异常或者定位失败的信息发送至日志,并发送告警信息至用户终端。所述定位异常或者定位失败可以包括识别定位超时、定位未授权返回指定的信息。通过将定位异常或者定位失败信息发送至日志,可以实现对定位异常进行监控和管理,确保定位的正常运行。
在示例性的实施例中,所述方法还包括:获取用户输入的地址位置信息,并将所述地址位置信息转换成预设坐标系下的经纬度数据。例如:获取用户数输入的城市名称以及街道名称,并将所述城市名称以及所述街道名称转换成百度坐标系下的经纬度数据。通过将地址位置信息转换成预设坐标系下的经纬度数据,极大地节约了业务人员录入坐标系的成本和时间。
本发明实施例提供的环境适配的定位方法,通过识别预设页面的运行环境,并根据所述运行环境对应的定位方式对用户的位置进行定位以得到所述运行环境下的定位结果数据,判断所述运行环境是否为预设环境,并当所述运行环境不是预设环境时,进行坐标系的转换,并将转换后的目标位置信息发送至终端,以使所述终端显示所述目标位置信息,能够在不同环境均能够获取精确的定位结果,并且将不同运行环境下的定位结果数据进行坐标系的转换,使得不同运行环境输出的位置信息相同,给用户准确的数据推荐,提供用户更好的用户体验。本发明实施例,还可以通过极少的代码完成定位系统的接入,极大地减少了开发工作量,提升了开发效率。
基于上述实施例提供的环境适配的定位方法,请参阅图5,示出了本发明实施例之环境适配的定位系统的程序模块示意图。所述环境适配的定位系统20可以应用于上述实施例一中的服务器中。在本实施例中,所述环境适配的定位系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述环境适配的定位方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述环境适配的定位系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
识别模块201,用于接收终端发送的表示用户请求打开预设页面的请求信息,识别所述请求信息中用于运行所述预设页面的宿主的用户代理(User Agent,UA),并根据识别的用户代理确定所述预设页面的运行环境。所述运行环境可以包括:微信、银行APP或未知环境。
需要说明的是,所述用户代理是HTTP请求中的用户标识,是一个特殊字符串,使得服务器能够识别客户端使用的操作系统及版本、中央处理器(Center Processing Unit,CPU)类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。当用户所在的终端检测到用户打开所述预设页面的操作指令时,所述终端发送表示所述用户请求打开预设页面的请求信息至所述服务器。然后所述识别模块201接收所述终端发送的表示所述用户请求打开所述预设页面的请求信息,其中所述请求信息中包括所述预设页面的宿主的用户代理。由于所述用户代理标识有所述用户所在终端的浏览器及版本等信息,所述识别模块201通过识别所述用户代理,即可获取所述用户所在终端打开所述预设页面的运行环境。
在具体实施例中,当检测到所述用户进入所述预设页面时,在进行定位时,还需要加载NEST-TOOLS.js开发框架,然后通过调用位置获取(getLocation)方法以实现定位。
在示例性的实施例中,所述识别模块201可以具体包括转换模块、提取模块及确定模块:
所述转换模块,用于将所述用户代理进行大小写的转换,得到转换后的用户代理;
所述提取模块,用于从所述转换后的用户代理的预设位置提取对应的字符串关键字;
所述确定模块,用于将所述字符串关键字指向的运行环境确定为所述预设页面的运行环境。
具体地,由于用户代理中包括大小写字母,所述转换模块通过将所述用户代理全部转换为小写,以对所述用户代理的格式统一化。由于所述用户代理为一长串的字符串,且所述字符串的每个位置标识有对应的终端信息。例如:用户在所述终端打开的所述预设页面的运行环境在所述用户代理中的位置是固定或预设的。所述提取模块通过从转换后的用户代理的预设位置可直接提取对应的字符串,从所述预设位置提取出的所述字符串即表示所述预设页面的运行环境。如图1,所述确定模块确定运行环境为银行APP、微信或未知环境。
在示例性的实施例中,所述确定模块可以包括识别单元及匹配单元:
所述识别单元,用于通过正则匹配方式对所述字符串关键字进行识别,得到识别结果;
所述匹配单元,用于将所述识别结果与预设的关键字环境映射表进行匹配,得到与所述识别结果对应的运行环境,其中,所述预设的关键字环境映射表存储有预设的关键字和与所述关键字对应的运行环境。
具体地,例如,字符串关键字为MicroMessenger,所述识别单元通过正则匹配,识别出所述MicroMessenger。由于所述预设的关键字环境映射表存储有MicroMessenger与微信的映射关系、paebank与平安银行口袋APP的映射关系、banka与口袋银行家的映射关系以及pars与金管家的映射关系。所述匹配单元通过将所述MicroMessenger与预设的关键字环境映射表进行匹配,得到所述MicroMessenger的运行环境为微信。字符串关键字为paebank,则识别出所述运行环境为平安银行口袋APP。字符串关键字为banka,则识别出所述运行环境为口袋银行家。字符串关键字为pars,则识别出所述运行环境为金管家。
定位模块202,用于根据所述运行环境获取与所述运行环境对应的定位方式,并通过所述定位方式对所述用户的位置进行定位,以获取所述运行环境下的定位结果数据。
需要说明的是,根据运行环境的不同以及运行环境采用的定位方法的不同,所述定位结果数据所处的坐标系也存在不同。也即,同一页面在相同位置通过不同运行环境打开时,所获取的定位结果数据不同。因此,不同的运行环境会存在定位不准确的情况。
在示例性的实施例中,当所述运行环境为所述银行应用程序时,所述定位模块202通过全球定位系统(Global Positioning System,GPS)和因特网协议(InternetProtocol,IP)定位方法进行定位得到定位结果,保存所述定位结果于本地,并通过桥接方式从所述本地获取所述定位结果数据。例如,通过所述GPS和所述IP定位方法进行定位,然后将定位获取的经纬度数据保存在本地,然后从本地获取所述经纬度数据。所述用户位置信息包括城市名称、城市ID和街道名称等。需要说明的是,在实际应用中,可同时采用上述定位方法进行定位,只需其中一种定位方法定位成功即可获取所述运行环境下的定位结果数据。
在另一示例性的实施例中,当所述运行环境为所述微信时,则所述定位模块202通过软件开发工具包(Software Development Kit,SDK)获取所述定位结果数据。例如:微信的定位方法中使用的坐标系为GCJ-02坐标系,则通过SDK获取的定位结果数据为GCJ-02坐标系下的经纬度数据。
在另一示例性的实施例中,当所述运行环境为未知环境时,则所述定位模块202通过精准IP定位、浏览器定位以及SDK定位方法进行定位。例如:当所述用户在定位时,如果精准IP定位方法无法成功定位,可通过浏览器定位方法进行定位,若所述浏览器定位方法也无法定位,则采用SDK定位方法进行定位。当然,在实际应用中,同样可同时采用上述定位方法进行定位,只需其中一种定位方法定位成功即可获取所述运行环境下的定位结果数据。
判断模块203,用于判断所述运行环境是否为所述预设页面指定的目标运行环境,其中,在所述目标运行环境下所述预设页面的定位结果准确率大于预设值。
由于不同运行环境下获取的定位结果数据所处的坐标系不同,通过判断所述运行环境是否为预设运行环境,进而所述运行环境下获取的定位结果数据是否需要进行转换。
输出模块204,用于当所述运行环境不是所述预设运行环境时,将所述运行环境下的定位结果数据进行坐标系的转换,并将转换后得到的目标位置信息发送至所述终端,以使所述终端显示所述目标位置信息。
所述目标位置信息可以包括:城市名称、城市ID以及街道等信息。
示例性地,微信运行环境对应的定位方法的坐标系为GCJ-02坐标系,通过将获取的GCJ-02坐标系下的经纬度数据转换成百度坐标系下的目标经纬度数据,然后根据所述目标经纬度数据进行地址信息的转换,得到所述目标位置信息。在其他实施例中,所述目标位置信息还可以包括所述目标经纬度数据,以将所述目标经纬度数据、城市名称、城市ID以及街道等信息发送至用户终端。
在一示例性的实施例中,所述环境适配的定位系统20还可以包括缓存模块,用于将所述目标位置信息进行缓存,以避免资源浪费。具体地,当获取到所述目标位置信息后,所述缓存模块将所述目标位置信息缓存至内存中。在用户移动的过程中,由于在短时间内,用户的移动距离短,所述用户的位置不会发生巨大的改变,故在预设时间内,持续将缓存在所述内存中的所述目标位置信息显示在用户终端的显示界面。当超过该预设时间后,重新对所述用户进行定位,并重新进行缓存。例如:每10分钟更新一次定位信息,在这10分钟内使用上一次的定位信息并显示在所述用户终端的显示界面。通过将缓存所述目标位置信息,并在预设时间内直接获取所述目标位置信息并显示在所述用户终端的显示界面,能够避免一直进行定位的情况,避免了计算机资源的浪费,提高了计算机的处理性能,以及定位成功率。
在一示例性的实施例中,所述环境适配的定位系统20还包括上传模块,用于将所述目标位置信息上传至区块链中。所述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
在示例性的实施例中,所述环境适配的定位系统20还包括发送模块,用于当定位异常或者定位失败时,将定位异常或者定位失败的信息发送至日志,并发送告警信息至用户终端。所述定位异常或者定位失败可以包括识别定位超时、定位未授权返回指定的信息。通过将定位异常或者定位失败信息发送至日志,可以实现对定位异常进行监控和管理,确保定位的正常运行。
在示例性的实施例中,所述环境适配的定位系统20还可以包括转换模块,用于:获取用户输入的地址位置信息,并将所述地址位置信息转换成预设坐标系下的经纬度数据。例如:获取用户数输入的城市名称以及街道名称,并将所述城市名称以及所述街道名称转换成百度坐标系下的经纬度数据。通过将地址位置信息转换成预设坐标系下的经纬度数据,极大地节约了业务人员录入坐标系的成本和时间。
本发明实施例提供的环境适配的定位系统,通过识别预设页面的运行环境,并根据所述运行环境对应的定位方式对用户的位置进行定位以得到所述运行环境下的定位结果数据,判断所述运行环境是否为预设环境,并当所述运行环境不是预设环境时,进行坐标系的转换,并将转换后的目标位置信息发送至终端,以使所述终端显示所述目标位置信息,能够在不同环境均能够获取精确的定位结果,并且将不同运行环境下的定位结果数据进行坐标系的转换,使得不同运行环境输出的位置信息相同,给用户准确的数据推荐,提供用户更好的用户体验。本发明实施例,还可以通过极少的代码完成定位系统的接入,极大地减少了开发工作量,提升了开发效率。
请参阅图6,示出了本发明实施例三之计算机设备的硬件架构示意图。计算机设备2包括,但不仅限于,可通过系统总线相互通信连接存储器21、处理22以及网络接口23,图6仅示出了具有组件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,所述存储器也可以是所述计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器21还可以既包括所述计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述计算机设备2的操作系统和各类应用软件,例如环境适配的定位系统20的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述计算机设备2的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述环境适配的定位系统20等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子设备之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的环境适配的定位方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的环境适配的定位方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 环境适配的定位方法及系统
- 用于井下环境的定位对象的定位方法和定位系统