发明内容
有鉴于此,本发明提供了一种导航方法、装置及电子设备,能在无网络环境下,利用数据的层级结构、路径规划以及各节点之间的相互关系分析得出导航路径,以实现对用户的引导。
为实现上述目的,本发明实施例提供了一种导航方法,所述导航方法包括:
获得反映目的地所在地理位置的信息,其中,所述目的地设置有对应的目标二维码;
扫描当前场景中的二维码,获得当前场景中的二维码的存储信息,其中,所述存储信息包括当前场景的二维码所在地理位置和到达其它二维码所在地理位置的路径信息;
根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径。
可选地,所述当前场景的二维码包括中间二维码和目标二维码,其中,所述目标二维码为所述中间二维码的子节点二维码,所述中间二维码为所述目标二维码的父节点二维码;所述目标二维码存储有目的地所在地理位置以及到达该目标二维码的父节点二维码所在地理位置的路径信息;所述中间二维码存储有到达该中间二维码的多个子节点二维码中的每个子节点二维码所在地理位置的路径信息以及到达其它中间二维码所在地理位置的路径信息。
可选地,根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径的步骤,包括:
判断当前场景的二维码的类别,若当前场景的二维码为中间二维码,判断所述目的地所对应的目标二维码是否为该中间二维码的子节点二维码,若所述目的地所对应的目标二维码为该中间二维码的子节点二维码,获得从当前场景的二维码所在地理位置到达所述目的地所对应的目标二维码所在地理位置的路径信息并将该路径信息作为第一导航路径。
可选地,根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径的步骤,包括:
判断当前场景的二维码的类别,若当前场景的二维码为中间二维码,判断所述目的地所对应的目标二维码是否为该中间二维码的子节点二维码,若所述目的地所对应的目标二维码不是该中间二维码的子节点二维码,查找出所述目的地所对应的目标二维码的父节点二维码,获得从当前场景的二维码所在地理位置到达所述目的地所对应的目标二维码的父节点二维码所在地理位置的路径信息并将该路径信息作为第二导航路径;
当从当前场景的二维码所在地理位置移动到所述目的地所对应的目标二维码的父节点二维码所在地理位置时,扫描该父节点二维码,获得从该父节点二维码所在地理位置到达所述目的地所在地理位置的路径信息并将该路径信息作为第三导航路径。
可选地,根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径的步骤,包括:
判断当前场景的二维码的类别,若当前场景的二维码为目标二维码,获得该目标二维码的父节点二维码,判断所述目的地所对应的目标二维码是否为该父节点二维码的子节点二维码,若所述目的地所对应的目标二维码为该父节点二维码的子节点二维码,获得从当前场景的二维码所在地理位置到达该父节点二维码所在地理位置的路径信息并将该路径信息作为第四导航路径;
当从当前场景的二维码所在地理位置移动到该父节点二维码所在地理位置时,扫描该父节点二维码,获得从该父节点二维码所在地理位置到达所述目的地所在地理位置的路径信息并将该路径信息作为第五导航路径。
可选地,根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径的步骤,包括:
判断当前场景的二维码的类别,若当前场景的二维码为目标二维码,获得该目标二维码的父节点二维码,判断所述目的地所对应的目标二维码是否为该父节点二维码的子节点二维码,若所述目的地所对应的目标二维码不是该父节点二维码的子节点二维码,获得从当前场景的二维码所在地理位置到达该父节点二维码所在地理位置的路径信息并将该路径信息作为第六导航路径,并将该父节点二维码作为第一父节点二维码;
当从当前场景的二维码所在地理位置移动到所述第一父节点二维码所在地理位置时,扫描所述第一父节点二维码,获得从所述第一父节点二维码所在地理位置到达所述目的地所对应的目标二维码的父节点二维码所在地理位置的路径信息并将该路径信息作为第七导航路径,并将所述目的地所对应的目标二维码的父节点二维码作为第二父节点二维码;
当从所述第一父节点二维码所在地理位置移动到所述第二父节点二维码所在地理位置时,扫描所述第二父节点二维码,获得从所述第二父节点二维码所在地理位置到达所述目的地所在地理位置的路径信息并将该路径信息作为第八导航路径。
可选地,所述反映目的地所在地理位置的信息包括目的地的名称和门牌号。
本发明实施例还提供了一种导航装置,所述导航装置包括:
目的地获取模块,用于获得反映目的地所在地理位置的信息,其中,所述目的地设置有对应的目标二维码;
二维码扫描模块,用于扫描当前场景中的二维码,获得当前场景中的二维码的存储信息,其中,所述存储信息包括当前场景的二维码所在地理位置和到达其它二维码所在地理位置的路径信息;
导航模块,根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径。
本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的导航方法。
本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述的导航方法。
本发明实施例提供的导航方法、装置及电子设备,根据获得的反映目的地所在地理位置的信息和当前场景中的二维码所存储的信息分析获得导航路径,能实现无网络环境下的导航。
进一步地,本发明实施例采用层级结构分析法,将二维码进行分类,并根据不同类型的二维码分析得出不同的导航路径,使该导航方法的指引性和可达性更强。
具体实施方式
经调查发现,现有室内导航方案需要稳定的网络环境来和服务端通信,或者事先从服务端加载某些数据到本地。实际中可能没有网络环境,或者未及时从服务端加载数据到本地,这使得在无网环境下可能无法进行导航。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
基于上述研究,本发明实施例提供了一种导航方法、装置及电子设备,能在无网络环境下,利用数据的层级结构、路径规划以及各节点之间的相互关系,完成对用户的引导。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1示出了本发明实施例所提供的一种电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的服务端,如图1所示,电子设备10包括:存储器11、处理器12、网络模块13和导航装置20。
存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有导航装置20,所述导航装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的导航装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的导航方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立电子设备10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的导航方法。
可以理解,导航装置可以有很多种类型,在本实施例中,可以采用手机M作为导航装置,在没有网络环境的商场S中进行该导航方法。
图2示出了本发明实施例所提供的一种导航方法的流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:
步骤S21,获得反映目的地所在地理位置的信息。
其中,目的地周围设置有对应的目标二维码,可选地,反映目的地所在地理位置的信息包括目的地的名称或门牌号。
例如,目的地的名称可以为“安德玛凯丹广场店”,用户C将“安德玛凯丹广场店”输入手机M,手机M获得“安德玛凯丹广场店”信息。
可以理解,商场S可以为凯丹广场。
步骤S22,扫描当前场景中的二维码,获得当前场景中的二维码的存储信息。
可选地,存储信息包括当前二维码所在地理位置和到达其它二维码所在地理位置的路径信息。例如,用户C使用手机M在凯丹广场门口扫描二维码(1),手机M对二维码(1)进行解析,获得二维码(1)所在地理位置和到达其它二维码所在地理位置的路径信息,可以理解,路径信息可以为多条,其中有一条为二维码(1)到达“安德玛凯丹广场店”对应的目标二维码所在地理位置的路径。
可选地,当前场景中的二维码包括中间二维码和目标二维码,其中,目标二维码为中间二维码的子节点二维码,中间二维码为目标二维码的父节点二维码,目标二维码存储有目的地所在地理位置以及到达该目标二维码的父节点二维码所在地理位置的路径信息,中间二维码存储有到达该中间二维码的多个子节点二维码中的每个子节点二维码所在地理位置的路径信息以及到达其它中间二维码所在地理位置的路径信息。
可选地,相同层级的二维码互为兄弟节点二维码。
可以理解,每个二维码均存储有自身所在地理位置信息。
例如,请参照图3,在本实施例中,中间二维码可以采用双层结构,由图3可见:
二维码(1)和二维码(2)为第一层中间二维码,其中二维码(1)存储有到达二维码(2)所在地理位置的路径信息以及到达二维码(11)和二维码(12)的路径信息,其中,二维码(11)和二维码(12)为第二层中间二维码。可以理解,第一层中间二维码和第二层中间二维码在导航过程中起标识性作用,例如在商场的拐角处、楼层变换处或者一期二期商场交界处。
请继续参照图3,结合上述分析可以得出,第一层中间二维码(1)存储有以下信息:
二维码(1)的编号和二维码(1)的所在地理位置;
二维码(2)的编号以及到达二维码(2)所在地理位置的路径信息R;
到达二维码(11)所在地理位置的路径信息R1;
到达二维码(12)所在地理位置的路径信息R2。
请继续参照图3,第二层中间二维码(11)存储有以下信息:
二维码(11)的编号;
二维码(12)的编号;
到达二维码(1)所在地理位置的路径信息R1;
到达二维码(111)所在地理位置的路径信息R5;
到达二维码(112)所在地理位置的路径信息R6。
请继续参照图3,二维码(111)、二维码(112)、二维码(121)、二维码(211)、二维码(212)、二维码(221)、二维码(222)和二维码(223)为目标二维码,可以理解各个目标二维码设置在各个目的地周围,反映该目的地的地理位置,例如,二维码(111)所在地理位置可以理解为“安德玛凯丹广场店”的所在位置。
以二维码(111)为例,二维码(111)存储有以下信息:
二维码(111)、二维码(112)、二维码(121)、二维码(211)、二维码(212)、二维码(221)、二维码(222)和二维码(223)的编号;
达到二维码(11)所在地理位置的路径信息R5。
可以理解,用户C想要到达的目的地为各目标二维码的所在地理位置。
请继续参照图3,可以理解:
二维码(1)和二维码(2)互为兄弟节点二维码;
二维码(11)、二维码(12)、二维码(21)、二维码(22)互为兄弟节点二维码;
二维码(111)、二维码(112)、二维码(121)、二维码(211)、二维码(212)、二维码(221)、二维码(222)、二维码(223)互为兄弟节点二维码。
可选地,以二维码(11)为例,二维码(1)为二维码(11)的父节点二维码;二维码(111)和二维码(112)为二维码(11)的子节点二维码。
步骤S23,根据当前场景的二维码所在地理位置和目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达目标二维码所在地理位置的路径信息并将该路径信息作为导航路径。
例如,用户C将“安德玛凯丹广场店”输入手机M,并使用手机M在凯丹广场门口扫描二维码(1),手机M对二维码(1)进行解析,获得二维码(1)所在地理位置和到达其它二维码所在地理位置的路径信息。
可以理解,手机M解析出二维码(1)为第一层中间二维码,“安德玛凯丹广场店”的二维码编号为(111),并解析出二维码编号为(111)的父节点二维码二维码为二维码(11)。由于二维码(11)为二维码(1)的子节点二维码,此时手机M会给出导航路径R1,引导用户C从二维码(1)所在地理位置到达二维码(11)所在地理位置,又例如,“安德玛凯丹广场店”位于负一楼,二维码(1)表示凯丹广场的入口位置,二维码(11)表示楼梯或者自动扶梯的位置。用户C拿着手机M根据导航路径R1移动到二维码(11)处之后,扫描二维码(11),获得从二维码(11)所在地理位置到达二维码(111)所在地理位置的路径信息R5,根据路径信息R5进行移动,即可到达二维码(111)所在地理位置处,即“安德玛凯丹广场店”。
应当理解,本实施例给出的第一层中间二维码和第二层中间二维码所指代的地点只是其中一种情况,并不是对该导航方法的限定,第一层中间二维码和第二层中间二维码在导航过程中起辅助导航的作用,可根据实际情况增加或减少中间二维码的层数,相应地,各层二维码的父节点、子节点和兄弟节点的关系也可作调整。
又例如,若用户C在“安德玛凯丹广场店”的二维码(111)处,想到达电影院,用户C在手机M里输入“电影院”,并扫描二维码(111),手机M解析出“电影院”的目标二维码编号为(221),分析并给出导航路径R5,引导用户C从二维码(111)所在地理位置到达二维码(11)所在地理位置,用户C使用手机M扫描二维码(11),获得导航路径R1,根据R1移动到二维码(1)处,重复以上操作,并依次经过路径R、R4和R10到达“电影院”的二维码(221)所在地理位置。
应当理解,针对不同的当前二维码和目标二维码,对应的路径也不同,本实施例仅示出了两种导航方法,并不是对该导航方法的限定。
采用该导航方法,可以不需要借助网络通信,仅需对二维码进行扫描,获得分段的导航路径,以中间二维码为节点,一步一步引导用户到达目的地。如此设置,能减小二维码的信息存储压力,能使用户在无网环境中采用手机进行二维码扫码导航。
其次,通过层级结构的节点引导的方式,简化了导航路径的复杂度,在岔路口或其它需要作出方向判断的地方设置中间二维码,能对用户进行层层递进的引导,提高了导航的准确性。
在上述基础上,如图4所示,本发明实施例提供了一种导航装置20,所述导航装置20包括:目的地获取模块21、二维码扫描模块22和导航模块23。
目的地获取模块21,用于获得反映目的地所在地理位置的信息,其中,所述目的地设置有对应的目标二维码。
由于目的地获取模块21和图2中步骤S21的实现原理类似,因此在此不作更多说明。
二维码扫描模块22,用于扫描当前场景中的二维码,获得当前场景中的二维码的存储信息,其中,所述存储信息包括当前场景的二维码所在地理位置和到达其它二维码所在地理位置的路径信息。
由于二维码扫描模块22和图2中步骤S22的实现原理类似,因此在此不作更多说明。
导航模块23,根据当前场景的二维码所在地理位置和所述目标二维码所在地理位置,查找出从当前场景的二维码所在地理位置到达所述目标二维码所在地理位置的路径信息并将该路径信息作为导航路径。
由于导航模块23和图2中步骤S23的实现原理类似,因此在此不作更多说明。
综上,本发明实施例所提供的导航方法、装置及电子设备,能在无网络环境下实现导航,以完成对用户的引导。
进一步地,通过层级结构的节点引导的方式,简化了导航路径的复杂度,在岔路口或其它需要作出方向判断的地方设置中间二维码,能对用户进行层层递进的引导,增加了导航的准确性和可达性。
进一步地,利用层级结构的方式,避免了在单一二维码中存储容量较多的问题,充分考虑到了二维码的容量限制。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。