CN104580506A - 离线地图数据的获取方法、云端服务器及客户端 - Google Patents
离线地图数据的获取方法、云端服务器及客户端 Download PDFInfo
- Publication number
- CN104580506A CN104580506A CN201510039373.4A CN201510039373A CN104580506A CN 104580506 A CN104580506 A CN 104580506A CN 201510039373 A CN201510039373 A CN 201510039373A CN 104580506 A CN104580506 A CN 104580506A
- Authority
- CN
- China
- Prior art keywords
- line
- diagram data
- map
- client
- cloud server
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
Abstract
本发明公开了一种离线地图数据的获取方法,包括步骤:在接收到离线地图数据获取指令后,云端服务器获取源地图数据;所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;所述云端服务器按照预设比率压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端地,供用户在所述客户端地完成与地图有关的操作。发明还公开一种云端服务器及客户端。发明实现不依赖于网络状态的好坏,完全在客户端地完成与地图有关的操作,提高离线地图使用效果。
Description
技术领域
本发明涉及到数据处理技术领域,特别涉及到离线地图数据的获取方法云端服务器及客户端。
背景技术
地图产品包含的海量数据会占用较大存储空间,由于手机容量普遍偏小,因此现有主流技术方案是将地图数据保存在服务器,当用户查询地点、路线、导航的时候,手机地图通过Wi-Fi或移动网络请求地图服务器中的数据,并对返回的数据进行解析,最终在客户端予以展示。上述地图数据使用的实现过程要经过数据接入、逻辑分析处理、数据请求等阶段。通过以上实现过程可以发现:手机地图的查询功能严重依赖于网络环境,当手机的网络状态较好时,地图功能可以顺利完成;但当手机网络状态较差时(例如在山区、地铁、高铁、手机欠费等)时,将无法连接到地图服务器,导致手机地图的功能无法使用。因此,针对上述问题提出了离线地图技术。
目前的离线地图技术,将地图显示数据(又称地图数据)按城市拆分,用户下载其对应的城市后可以满足地图的离线浏览需求,现有的离线地图技术不能满足所有应用场景下的离线功能,例如,对于查询地点、路线、导航的需求,需要网络支持才能完成。故,现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作(例如,查询地点、路线、导航等),使得离线地图使用效果偏低。
发明内容
本发明实施例提供一种离线地图数据的获取方法及云端服务器及客户端,旨在解决现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作,使得离线地图使用效果偏低的问题。
为实现上述目的,本发明实施例提出一种离线地图数据的获取方法,包括步骤:
在接收到离线地图数据获取指令后,云端服务器获取源地图数据;
所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;
所述云端服务器按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
为了实现上述目的,本发明实施例还进一步提出一种云端服务器,包括:
第一获取模块,用于在接收到离线地图数据获取指令后,获取源地图数据;
处理模块,用于按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;
压缩模块,用于按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
第一接发模块,用于将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
为了实现上述目的,本发明实施例还进一步提出一种客户端,用于与上述的云端服务器交互,包括:
第二接发模块,用于接收地图模式选择指令,进入离线地图模式;
第二获取模块,用于在所述离线模式下接收到与地图有关的操作指令时,在本地获取所述操作指令对应的离线地图数据;
显示模块,用于显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。
本发明通过云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,以供客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。有效避免现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作,使得离线地图使用效果偏低的问题。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
附图说明
图1为本发明实施例离线地图数据的获取装置所涉及的硬件架构示意图;
图2为本发明离线地图数据的获取方法的第一实施例的流程示意图;
图3为图2中步骤S20的一实施例的细化流程示意图;
图4为图2中步骤S20的另一实施例的细化流程示意图;
图5为本发明客户端本地完成与地图有关操作的细化流程示意图;
图6为本发明离线地图数据的获取方法的第二实施例的流程示意图;
图7为本发明离线地图数据的获取方法的第三实施例的流程示意图;
图8为本发明云端服务器的较佳实施例的功能模块示意图;
图9为图8中处理模块一实施例的细化功能模块示意图;
图10为本发明客户端第一实施例的功能模块示意图;
图11为本发明客户端第二实施例的功能模块示意图;
图12为本发明客户端第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在接收到离线地图数据获取指令后,云端服务器获取源地图数据;所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;所述云端服务器按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。通过云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,以供客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。有效避免现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作,使得离线地图使用效果偏低的问题。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
由于现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作(例如,查询地点、路线、导航等),使得离线地图使用效果偏低。
本发明实施例架构一离线地图数据的获取装置,该离线地图数据的获取装置通过云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,以供客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
其中,本实施例离线地图数据的获取装置可以承载于PC端,也可以承载于手机、平板电脑等可以使用游戏等网络应用的电子终端。该离线地图数据的获取装置所涉及的硬件架构可以如图1所示。
图1示出了本发明实施例离线地图数据的获取装置所涉及的硬件架构。如图1所示,所述离线地图数据的获取装置所涉及的硬件包括:处理器301,例如CPU,网络接口304,用户接口303,存储器305,通信总线302。其中,通信总线302用于实现该信息推送平台中各组成部件之间的连接通信。用户接口303可以包括显示屏(Display)、键盘(Keyboard)、鼠标等组件,用于接收用户输入的信息,并将接收的信息发送至处理器305进行处理。显示屏可以为LCD显示屏、LED显示屏,也可以为触摸屏,用于显示离线地图数据的获取装置需要显示的数据,例如显示离线地图数据搜索、离线地图数据下载等操作界面。可选用户接口303还可以包括标准的有线接口、无线接口。网络接口304可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器305可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器305可选的还可以是独立于前述处理器301的存储装置。如图1所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及离线地图数据的获取程序。
在图1所示的离线地图数据的获取装置所涉及的硬件中,网络接口304主要用于连接应用平台,与应用平台进行数据通信;用户接口303主要用于连接客户端,与客户端进行数据通信,接收客户端输入的信息和指令;而处理器301可以用于调用存储器305中存储的离线地图数据的获取程序,并执行以下操作:
在接收到离线地图数据获取指令后,云端服务器获取源地图数据;
所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;
所述云端服务器按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
进一步地,在一个实施例中,处理器301调用存储器305中存储的离线地图数据的获取程序可以执行以下操作:
所述云端服务器获取预设时间内被访问的地图数据;
所述云端服务器判断所述地图数据被访问的次数是否超过预设次数;
所述云端服务器在所述地图数据被访问的次数超过预设次数时,从所述源离线数据中匹配出与所述超过预设次数的地图数据对应的部分,将匹配出的部分作为第一离线地图数据。
进一步地,在一个实施例中,处理器301调用存储器305中存储的离线地图数据的获取程序可以执行以下操作:
所述云端服务器获取预存的最新的地图数据类型;
所述云端服务器从所述源地图数据中匹配出与所获取的地图数据类型对应的地图数据,并将匹配出的地图数据作为第一离线地图数据。
进一步地,在一个实施例中,处理器301调用存储器305中存储的离线地图数据的获取程序可以执行以下操作:
所述客户端接收地图模式选择指令,进入离线地图模式;
在所述离线模式下接收到与地图有关的操作指令时,所述客户端在本地获取所述操作指令对应的离线地图数据,并显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。
进一步地,在一个实施例中,处理器301调用存储器305中存储的离线地图数据的获取程序可以执行以下操作:
所述客户端获取客户端当前的网络状态;
所述客户端在当前网络状态比预设网络状态好时,从离线地图模式切换至在线地图模式;
在所述在线模式下接收到与地图有关的操作指令时,所述客户端向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据,并显示所接收到的地图数据以提示所述操作指令对应的操作结果。
进一步地,在一个实施例中,处理器301调用存储器305中存储的离线地图数据的获取程序可以执行以下操作:
在所述离线模式下接收到与地图有关的操作指令后,所述客户端判断客户端本地保存的离线地图数据是否支持所述操作指令对应的操作;
所述客户端在客户端本地保存的离线地图数据不支持所述操作指令对应的操作,从离线地图模式切换至在线地图模式。
本实施例根据上述方案,云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,以供客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
基于上述硬件架构,提出本发明离线地图数据的获取方法实施例。
如图2所示,提出本发明一种离线地图数据的获取方法的第一实施例,所述离线地图数据的获取方法包括:
步骤S10,在接收到离线地图数据获取指令后,云端服务器获取源地图数据;
云端服务器提供地图操作界面供客户端用户输入操作信息,并在所述地图操作界面显示操作结果,例如,显示查询的地点信息、查询的路线信息、导航信息等。所述地图操作包括多种模式,例如,离线模式(零流量模式)、在线模式等。所述离线模式为零流量模式,在该模式下,实现完全的离线操作,即在客户端本地实现地点查询、路线查询、导航等与地图有关的操作。客户端用户在首次使用该地图应用时,先下载并安装该地图应用,并基于云端服务器提供的地图操作界面选择地图操作模式,在选择离线模式时,若为首次选择离线模式,需要向云端服务器请求离线数据,所述客户端用户通过地图操作界面发出离线数据获取指令。所述云端服务器预存有源地图数据,所述源地图数据为包括所有与地图有关信息的数据,即包括完成的交通、导航、路线、地点信息的数据。所述云端服务器侦测离线地图数据获取指令,在接收到离线地图数据获取指令后,云端服务器获取源地图数据。
步骤S20,所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图据作为第一离线地图数据;
所述预设条件可以是地图数据在预设时间内被访问的次数,所述预设时间可以是1个月、半年或一年等;所述预设条件也还可以是预存的最新的地图数据类型,例如,某些必须包括的地图数据类型等。
具体的,参考图3,所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图据作为第一离线地图数据的过程可以包括:
步骤S21,所述云端服务器确定预设时间内被访问的地图数据;
所述云端服务器确定预设时间内被访问的地图数据,例如,获取半年内所有用户访问的地图数据,也还可以是,分城市及/或分地区获取半年内被访问的地图数据。
步骤S22,所述云端服务器判断所述地图数据被访问的次数是否超过预设次数;
所述预设次数可以是80次、100次等。所述云端服务器判断所述地图数据被访问的次数是否超过预设次数,即判断哪些地图数据满足所述预设条件。
在所述源地图数据中有地图数据在预设时间内被访问的次数超过预设次数时,判断在预设时间内被访问的次数超过预设次数的地图数据满足预设条件;判断在预设时间内被访问的次数未超过预设次数的地图数据不满足预设条件。
步骤S23,所述云端服务器在所述地图数据被访问的次数超过预设次数时,从所述源离线数据中匹配出与所述超过预设次数的地图数据对应的部分,将匹配出的部分作为第一离线地图数据。
所述云端服务器将所述源地图数据中在预设时间内被访问的次数超过预设次数的部分筛选出来作为第一离线数据,即不获取未满足预设条件的部分,将满足预设条件的那部分地图数据筛选出来作为第一离线数据。通过将被访问次数满足预设次数的地图数据筛选出来作为第一离线数据,在保证能完整完成与地图有关操作的同时,降低了传输的数据量,在将地图数据所需的存储空间压缩后,能更好的将地图数据保存在客户端本地,方便在客户端本地实现与地图有关的操作。
具体的,参考图4,所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图据作为第一离线地图数据的过程还可以包括:
步骤S24,所述云端服务器确定预存的最新的地图数据类型;
步骤S25,所述云端服务器从所述源地图数据中匹配出与所获取的地图数据类型对应的地图数据,并将匹配出的地图数据作为第一离线地图数据。
所述云端服务器确定预存的最新的地图数据类型,例如,强制必须包括的地图数据类型,包括交通部公布的标准地图数据类型等,例如一些基础地图数据等。所述云端服务器在确定地图数据类型后,从所述源地图数据中匹配出与所确定的地图数据类型对应的地图数据,将匹配出的地图数据作为第一离线地图数据。与所确定的地图数据类型对应的地图数据包括与所确定的地图数据类型相同的或相似的或相近的地图数据。
在本发明其他实施例中,也还可以是将上述两个预设条件相结合起来得到第一离线数据,即将两个预设条件所筛选出来的地图数据相加作为第一离线地图数据。
步骤S30,所述云端服务器按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
所述预设压缩算法优选为高比率压缩算法,高比率压缩算法为现有的压缩算法,比较成熟,在此不再一一赘述。所述云端服务器将所述第一离线地图数据通过预设压缩算法压缩后得到第二离线地图数据,进一步降低传输的数据量。所述第二离线地图数据可以包括离线地图和离线导航两部分,所述第二离线数据也还可以是按城市或地区进行划分,例如,“北京离线地图”、“北京离线导航”等。离线地图部分支持地点查询、地图浏览、路线查询等,离线导航部分实现语音导航等。
步骤S40,所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,所述客户端在接收到所述第二离线地图数据后,将所述第二离线地图数据保存,以在所述客户端本地完成与地图有关的操作。
在本发明其他实施例中,还可以是:所述云端服务器在接收到离线地图数据获取指令后,判断是否存储有最新的离线地图数据,若是,则直接获取最新的离线地图数据并发送至客户端;若否,则按照上述过程得到第二离线地图数据并发送至客户端。可以理解的是:所述云端服务器在有最新的离线地图数据生成时,向各个获取过离线地图数据的客户端发送更新指令,并在接收到客户端发送的接受更新的响应信息后,向各个客户端发送最新的离线地图数据。也还可以是:所述客户端每隔一定时间向所述云端服务器发送更新请求,所述云端服务器比较客户端和云端服务器存储的离线地图数据的版本号,在云端服务器的版本号高于客户端的版本号时,下发版本号高的离线地图数据至客户端。
参考图5,所述在所述客户端本地完成与地图有关的操作的过程包括:
步骤S50,所述客户端接收地图模式选择指令,进入离线地图模式;
步骤S60,在所述离线模式下接收到与地图有关的操作指令时,所述客户端在本地获取所述操作指令对应的离线地图数据,并显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。
所述客户端在保存所述第二离线地图数据后,侦测与地图有关的操作指令,在接收到与地图有关的操作指令时,若客户端当前的地图模式为离线地图模式时,所述客户端在本地获取所述操作指令对应的离线地图数据,并显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。例如,显示查询的地点信息、查询的路线信息或导航信息等。所述客户端用户可以下发地图模式选择指令选择相应的地图模式,所述客户端在接收到地图模式选择指令,进入离线地图模式或者进入在线地图模式。在离线模式下,完全在客户端本地完成与地图有关的操作,例如,查询地点、路线、导航等操作。在在线模式下,通过向云端服务器请求地图数据完成与地图有关的操作。
本实施例云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,以供客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。有效避免现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作,使得离线地图使用效果偏低的问题。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
进一步地,基于上述离线地图数据的获取方法的第一实施例,提出本发明离线地图数据的获取方法的第二实施例。如图6所示,所述步骤S60之后,可以包括:
步骤S70,所述客户端获取客户端当前的网络状态;
步骤S80,所述客户端在当前网络状态比预设网络状态好时,从离线地图模式切换至在线地图模式;
预设网络状态包括:4G网络、WiFi网络、3G网络等,也还可以是网络的速度,例如,为180kb/s、200kb/s或300kb/s等。所述客户端获取客户端当前接入的网络及其网络状态,在当前网络状态好时,即能满足在线地图模式时,例如,在为WiFi网络时或网络速度在180kb/s之上时,进入在线地图模式,或者在当前网络状态比预设网络状态好时,提示是否进入在线地图模式,在接收到进入在线地图模式指令时,进入在线地图模式,若未接收到进入在线地图模式指令或接收到继续保持离线地图模式时,维持离线地图模式。具体的,参考表1,包括在线与离线地图模式切换的具体情况。如表1,在满足在线地图模式时,切换至在线地图模式,在满足离线地图模式时,切换至离线地图模式,或者根据用户的选择指令强制进入某个模式。所述离线地图模式包括离线地图模式和离线导航模式,所述离线地图模式下支持地图查询、公交查询等,在离线导航模式下,支持语音导航。
步骤S90,在所述在线模式下接收到与地图有关的操作指令时,所述客户端向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据,并显示所接收到的地图数据以提示所述操作指令对应的操作结果。
所述客户端在在线模式下时,所述客户端只作为指令输入和显示的载体而不会在本地搜索地图数据完成与地图有关的操作,所述客户端在接收到与地图有关的操作指令时,向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据,并显示所接收到的地图数据以提示所述操作指令对应的操作结果。
表1
本实施例通过根据网络状态来实现在线和离线地图模式之间的自动切换,保证在无网络环境或者网络状态差时,在离线地图模式下完成与地图有关的操作,且在网络环境或网络状态好时,进入在线模式下,更好的完成与地图有关的操作,进一步提高了地图数据的使用体验。
进一步地,基于上述离线地图数据的获取方法的第二实施例,提出本发明的第三实施例。如图7所示,所述步骤S60之后,还可以包括:
步骤S100,在所述离线模式下接收到与地图有关的操作指令后,所述客户端判断客户端本地保存的离线地图数据是否支持所述操作指令对应的操作;
步骤S110,所述客户端在客户端本地保存的离线地图数据不支持所述操作指令对应的操作,从离线地图模式切换至在线地图模式。
例如,所述客户端在离线地图模式下无法规划路线或者无法实现语音导航时,判断客户端本地保存的离线地图数据无法支持所述操作指令对应的操作。参考表1,存在各种客户端本地保存的离线地图数据无法支持操作指令对应的与地图有关的操作的情况,在这些情况下,需要切换至在线地图模式,以确保完成与地图有关的操作。在切换至在线地图模式时,发出提示信息,以提示用户进入在线模式,需要开启网络,或者在开启网络的情况下,提示用户目前地图应用在使用网络。具体的,在线地图模式为现有的过程,在此不再一一赘述。在本发明其他实施例中,在离线地图模式下,还可以设置其他应用的开启状态,即在无网络环境下,禁止其他应用使用网络,可以根据用户设置选择那些网络在离线地图模式下为能使用网络的状态,即该类应用处于在线模式,哪些应用为不能使用网络的状态,即该类应用处于离线模式。
本实施例通过在离线模式下无法支持与地图有关的操作时,进入在线模式下,更好的完成与地图有关的操作,进一步提高了地图数据的使用体验。
可以理解的是:本发明实施例中的获取离线地图数据和离线导航部分可以实现插件化。具体的,将地图全部服务接口独立封装,零流量开关统一控制功能入口的隐藏和显示,同时可在设置项中启用隐藏的功能入口。
通过Java的反射机制,在程序运行时获得具体插件接口class的名称,动态生成插件接口的实例,然后通过此实例调用接口的方法,从而实现插件的动态加载、框架与插件间之间的交互。
Android的反射机制本质上就是Java的反射机制(被称为Reflection),Java反射机制允许运行中的程序利用反射API(Reflection APIs)获得任何一个已知名称的class的内部信息,主要包括:package、type parameters、superclass、implemented interfaces、inner classes、outer classes、fields、constructors、methods、modifiers等,并可以在执行的过程中,动态生成Instances、变更fields内容或唤起methods。
实现过程为:
1、实现一个PluginWorker的interface,接口定义如下:
public interface pluginworker{
public void init】worker(context c);
public void destoryWorker();
public pluginWorkerOutPara syncDoWork(PluginWorkerInpara para);
public void asyncDoWork(PluginWorkerInPara para);
public void onNetStatusChange(Context context,NetworkInfo net);
public abstract class SimplePluginWorker extends Thread implementsPluginWorker{实现该接口。
2、PluginWorkerManager是用来管理所有Plugin的管理器,同时也做为Plugin生成的工厂,是一种典型的工厂模式。需要在PluginWorkerManager的getPluginWorker函数中增加生成新worker对象的实现,例如:
Case PluginConfig.ID_PLUGIN_PRIVATETRAFFIC:
Plugin=new PluginWorkerData();
Plugin.worker=new PrivatTraffic();
workerMap.put(id,plugin):
break;
3、DexClassLoader动态加载
在介绍加载DexClassLoader之前,首先简单介绍一下ClassLoader。Java程序并不是一个可执行文件,而是由许多独立的类文件(.class文件)组成,这些类文件并不是立即全部装入内存,而是根据程序需要装入内存。ClassLoader就是用来加载Java类到Java虚拟机中的。ClassLoader负责读取Java字节代码,并转换成java.lang.Class类的一个实例,通过此实例的newInstance()方法就可以创建出该类的一个对象。
Android中,要动态加载类,可以用的ClassLoader有:DexClassLoader和PathClassLoader。其中,DexClassLoader可以加载.apk、.jar或者.dex文件,DexClassLoader要求指定一个输入目录,用于存放Dalvik在加载.dex文件时动态进行优化后的.dex文件;PathClassLoader的限制要更多一些,它只能加载已经安装到Android系统中的apk文件,也就是/data/app目录下的apk文件。
因此,插件框架利用DexClassLoader进行插件接口类的动态加载。在得到class的名字之后,就可以通过DexClassLoader的loadClass函数就可以加载该class,调用class的newInstance函数即可以创建该类的对象。
有了反射框架的支持,以及我们的插件框架的实现,使得我们可以非常简单和灵活的实现例如离线地图中Feature灵活开关的需求。
对应地,提出本发明云端服务器的较佳实施例。参考图8,所述云端服务器包括第一获取模块10、处理模块20、压缩模块30及第一接发模块40。
所述第一获取模块10,用于在接收到离线地图数据获取指令后,获取源地图数据;
云端服务器提供地图操作界面供客户端用户输入操作信息,并在所述地图操作界面显示操作结果,例如,显示查询的地点信息、查询的路线信息、导航信息等。所述地图操作包括多种模式,例如,离线模式(零流量模式)、在线模式等。所述离线模式为零流量模式,在该模式下,实现完全的离线操作,即在客户端本地实现地点查询、路线查询、导航等与地图有关的操作。客户端用户在首次使用该地图应用时,先下载并安装该地图应用,并基于云端服务器提供的地图操作界面选择地图操作模式,在选择离线模式时,若为首次选择离线模式,需要向云端服务器请求离线数据,所述客户端用户通过地图操作界面发出离线数据获取指令。所述云端服务器预存有源地图数据,所述源地图数据为包括所有与地图有关信息的数据,即包括完成的交通、导航、路线、地点信息的数据。所述云端服务器侦测离线地图数据获取指令,在接收到离线地图数据获取指令后,云端服务器获取源地图数据。
所述处理模块20,用于按照预设条件筛选所述源地图数据得到筛选后的地图据作为第一离线地图数据;
所述预设条件可以是地图数据在预设时间内被访问的次数,所述预设时间可以是1个月、半年或一年等;所述预设条件也还可以是预存的最新的地图数据类型,例如,某些必须包括的地图数据类型等。
具体的,参考图9,所述处理模块20包括确定单元21、判断单元22和处理单元23,
所述确定单元21,用于确定预设时间内被访问的地图数据;
所述云端服务器获取预设时间内被访问的地图数据,例如,获取半年内所有用户访问的地图数据,也还可以是,分城市及/或分地区获取半年内被访问的地图数据。
所述判断单元22,用于判断所述地图数据被访问的次数是否超过预设次数;
所述预设次数可以是80次、100次等。所述云端服务器判断所述地图数据被访问的次数是否超过预设次数,即判断哪些地图数据满足所述预设条件。
在所述源地图数据中有地图数据在预设时间内被访问的次数超过预设次数时,判断在预设时间内被访问的次数超过预设次数的地图数据满足预设条件;判断在预设时间内被访问的次数未超过预设次数的地图数据不满足预设条件。
所述处理单元23,用于在所述地图数据被访问的次数超过预设次数时,从所述源离线数据中匹配出与所述超过预设次数的地图数据对应的部分,将匹配出的部分作为第一离线地图数据。
所述云端服务器将所述源地图数据中在预设时间内被访问的次数超过预设次数的部分筛选出来作为第一离线数据,即不获取未满足预设条件的部分,将满足预设条件的那部分地图数据筛选出来作为第一离线数据。通过将被访问次数满足预设次数的地图数据筛选出来作为第一离线数据,在保证能完整完成与地图有关操作的同时,降低了传输的数据量,在将地图数据所需的存储空间压缩后,能更好的将地图数据保存在客户端本地,方便在客户端本地实现与地图有关的操作。
进一步地,所述确定单元21,还用于确定预存的最新的地图数据类型;
所述处理单元23,还用于从所述源地图数据中匹配出与所获取的地图数据类型对应的地图数据,并将匹配出的地图数据作为第一离线地图数据。
所述云端服务器获取预存的最新的地图数据类型,例如,强制必须包括的地图数据类型,包括交通部公布的标准地图数据类型等,例如一些基础地图数据等。所述云端服务器在获取到的地图数据类型后,从所述源地图数据中匹配出与所获取的地图数据类型对应的地图数据,将匹配出的地图数据作为第一离线地图数据。与所获取的地图数据类型对应的地图数据包括与所获取的地图数据类型相同的或相似的或相近的地图数据。
在本发明其他实施例中,也还可以是将上述两个预设条件相结合起来得到第一离线数据,即将两个预设条件所筛选出来的地图数据相加作为第一离线地图数据。
所述压缩模块30,用于按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
所述预设压缩算法优选为高比率压缩算法,高比率压缩算法为现有的压缩算法,比较成熟,在此不再一一赘述。所述云端服务器将所述第一离线地图数据通过预设压缩算法压缩后得到第二离线地图数据,进一步降低传输的数据量。所述第二离线地图数据可以包括离线地图和离线导航两部分,所述第二离线数据也还可以是按城市或地区进行划分,例如,“北京离线地图”、“北京离线导航”等。离线地图部分支持地点查询、地图浏览、路线查询等,离线导航部分实现语音导航等。
所述第一接发模块40,用于将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,所述客户端在接收到所述第二离线地图数据后,将所述第二离线地图数据保存,以在所述客户端本地完成与地图有关的操作。
在本发明其他实施例中,还可以是:所述云端服务器在接收到离线地图数据获取指令后,判断是否存储有最新的离线地图数据,若是,则直接获取最新的离线地图数据并发送至客户端;若否,则按照上述过程得到第二离线地图数据并发送至客户端。可以理解的是:所述云端服务器在有最新的离线地图数据生成时,向各个获取过离线地图数据的客户端发送更新指令,并在接收到客户端发送的接受更新的响应信息后,向各个客户端发送最新的离线地图数据。也还可以是:所述客户端每隔一定时间向所述云端服务器发送更新请求,所述云端服务器比较客户端和云端服务器存储的离线地图数据的版本号,在云端服务器的版本号高于客户端的版本号时,下发版本号高的离线地图数据至客户端。
参考图10,为本发明客户端第一实施例的功能模块示意图,所述客户端包括:第二接发模块100、第二获取模块200及显示模块300,
所述第二接发模块100,用于接收地图模式选择指令,进入离线地图模式;
所述第二获取模块200,用于在所述离线模式下接收到与地图有关的操作指令时,在本地获取所述操作指令对应的离线地图数据;
所述显示模块300,用于显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。
所述客户端在保存所述第二离线地图数据后,侦测与地图有关的操作指令,在接收到与地图有关的操作指令时,若客户端当前的地图模式为离线地图模式时,所述客户端在本地获取所述操作指令对应的离线地图数据,并显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。例如,显示查询的地点信息、查询的路线信息或导航信息等。所述客户端用户可以下发地图模式选择指令选择相应的地图模式,所述客户端在接收到地图模式选择指令,进入离线地图模式或者进入在线地图模式。在离线模式下,完全在客户端本地完成与地图有关的操作,例如,查询地点、路线、导航等操作。在在线模式下,通过向云端服务器请求地图数据完成与地图有关的操作。
本实施例云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,以供客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。有效避免现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作,使得离线地图使用效果偏低的问题。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
进一步地,基于上述客户端的第一实施例,提出本发明客户端的第二实施例。如图11所示,所述客户端还包括切换模块400,
所述第二获取模块200,用于获取客户端当前的网络状态;
所述切换模块400,用于在当前网络状态比预设网络状态好时,从离线地图模式切换至在线地图模式;
预设网络状态包括:4G网络、WiFi网络、3G网络等,也还可以是网络的速度,例如,为180kb/s、200kb/s或300kb/s等。所述客户端获取客户端当前接入的网络及其网络状态,在当前网络状态好时,即能满足在线地图模式时,例如,在为WiFi网络时或网络速度在180kb/s之上时,进入在线地图模式,或者在当前网络状态比预设网络状态好时,提示是否进入在线地图模式,在接收到进入在线地图模式指令时,进入在线地图模式,若未接收到进入在线地图模式指令或接收到继续保持离线地图模式时,维持离线地图模式。具体的,参考表1,包括在线与离线地图模式切换的具体情况。如表1,在满足在线地图模式时,切换至在线地图模式,在满足离线地图模式时,切换至离线地图模式,或者根据用户的选择指令强制进入某个模式。所述离线地图模式包括离线地图模式和离线导航模式,所述离线地图模式下支持地图查询、公交查询等,在离线导航模式下,支持语音导航。
所述第二接发模块100,用于在所述在线模式下接收到与地图有关的操作指令时,向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据;
所述显示模块300,用于显示所接收到的地图数据以提示所述操作指令对应的操作结果。
所述客户端在在线模式下时,所述客户端只作为指令输入和显示的载体而不会在本地搜索地图数据完成与地图有关的操作,所述客户端在接收到与地图有关的操作指令时,向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据,并显示所接收到的地图数据以提示所述操作指令对应的操作结果。
本实施例通过根据网络状态来实现在线和离线地图模式之间的自动切换,保证在无网络环境或者网络状态差时,在离线地图模式下完成与地图有关的操作,且在网络环境或网络状态好时,进入在线模式下,更好的完成与地图有关的操作,进一步提高了地图数据的使用体验。
进一步地,基于上述客户端的第二实施例,提出本发明客户端的第三实施例。如图12所示,所述客户端还包括判断模块500,
所述判断模块500,用于在所述离线模式下接收到与地图有关的操作指令后,判断客户端本地保存的离线地图数据是否支持所述操作指令对应的操作;
所述切换模块400,还用于在客户端本地保存的离线地图数据不支持所述操作指令对应的操作,从离线地图模式切换至在线地图模式。
例如,所述客户端在离线地图模式下无法规划路线或者无法实现语音导航时,判断客户端本地保存的离线地图数据无法支持所述操作指令对应的操作。参考表1,存在各种客户端本地保存的离线地图数据无法支持操作指令对应的与地图有关的操作的情况,在这些情况下,需要切换至在线地图模式,以确保完成与地图有关的操作。在切换至在线地图模式时,发出提示信息,以提示用户进入在线模式,需要开启网络,或者在开启网络的情况下,提示用户目前地图应用在使用网络。具体的,在线地图模式为现有的过程,在此不再一一赘述。在本发明其他实施例中,在离线地图模式下,还可以设置其他应用的开启状态,即在无网络环境下,禁止其他应用使用网络,可以根据用户设置选择那些网络在离线地图模式下为能使用网络的状态,即该类应用处于在线模式,哪些应用为不能使用网络的状态,即该类应用处于离线模式。
本实施例通过在离线模式下无法支持与地图有关的操作时,进入在线模式下,更好的完成与地图有关的操作,进一步提高了地图数据的使用体验。
可以理解的是:本发明实施例中的获取离线地图数据和离线导航部分可以实现插件化。具体的,将地图全部服务接口独立封装,零流量开关统一控制功能入口的隐藏和显示,同时可在设置项中启用隐藏的功能入口。
通过Java的反射机制,在程序运行时获得具体插件接口class的名称,动态生成插件接口的实例,然后通过此实例调用接口的方法,从而实现插件的动态加载、框架与插件间之间的交互。
Android的反射机制本质上就是Java的反射机制(被称为Reflection),Java反射机制允许运行中的程序利用反射API(Reflection APIs)获得任何一个已知名称的class的内部信息,主要包括:package、type parameters、superclass、implemented interfaces、inner classes、outer classes、fields、constructors、methods、modifiers等,并可以在执行的过程中,动态生成Instances、变更fields内容或唤起methods。
实现过程为:
1、实现一个PluginWorker的interface,接口定义如下:
public interface pluginworker{
public void init】worker(context c);
public void destoryWorker();
public pluginWorkerOutPara syncDoWork(PluginWorkerInpara para);
public void asyncDoWork(PluginWorkerInPara para);
public void onNetStatusChange(Context context,NetworkInfo net);
public abstract class SimplePluginWorker extends Thread implementsPluginWorker{实现该接口。
2、PluginWorkerManager是用来管理所有Plugin的管理器,同时也做为Plugin生成的工厂,是一种典型的工厂模式。需要在PluginWorkerManager的getPluginWorker函数中增加生成新worker对象的实现,例如:
Case PluginConfig.ID_PLUGIN_PRIVATETRAFFIC:
Plugin=new PluginWorkerData();
Plugin.worker=new PrivatTraffic();
workerMap.put(id,plugin):
break;
3、DexClassLoader动态加载
在介绍加载DexClassLoader之前,首先简单介绍一下ClassLoader。Java程序并不是一个可执行文件,而是由许多独立的类文件(.class文件)组成,这些类文件并不是立即全部装入内存,而是根据程序需要装入内存。ClassLoader就是用来加载Java类到Java虚拟机中的。ClassLoader负责读取Java字节代码,并转换成java.lang.Class类的一个实例,通过此实例的newInstance()方法就可以创建出该类的一个对象。
Android中,要动态加载类,可以用的ClassLoader有:DexClassLoader和PathClassLoader。其中,DexClassLoader可以加载.apk、.jar或者.dex文件,DexClassLoader要求指定一个输入目录,用于存放Dalvik在加载.dex文件时动态进行优化后的.dex文件;PathClassLoader的限制要更多一些,它只能加载已经安装到Android系统中的apk文件,也就是/data/app目录下的apk文件。
因此,插件框架利用DexClassLoader进行插件接口类的动态加载。在得到class的名字之后,就可以通过DexClassLoader的loadClass函数就可以加载该class,调用class的newInstance函数即可以创建该类的对象。
有了反射框架的支持,以及我们的插件框架的实现,使得我们可以非常简单和灵活的实现例如离线地图中Feature灵活开关的需求。
在本发明其他实施例,还可以提出一种离线地图数据的获取系统,所述离线地图数据的获取系统包括上述的云端服务器和客户端,具体的云端服务器和客户端的架构如上所述,且各个模块之间的执行过程如上所述,在此不再一一赘述。
本实施例的离线地图数据的获取系统通过云端服务器将源地图数据按照预设条件筛选,并采用预设压缩算法压缩筛选后的地图数据,将预设压缩后的地图数据发送至客户端,客户端保存并根据预设压缩后的地图数据在本地完成与地图有关的操作。有效避免现有的离线地图技术,只能简单的实现地图浏览的目的,无法完成复杂的与地图有关的操作,使得离线地图使用效果偏低的问题。实现不依赖于网络状态的好坏,完全在客户端本地完成与地图有关的操作,提高离线地图使用效果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
Claims (12)
1.一种离线地图数据的获取方法,其特征在于,包括步骤:
在接收到离线地图数据获取指令后,云端服务器获取源地图数据;
所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;
所述云端服务器按照预设比率压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
所述云端服务器将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
2.如权利要求1所述的离线地图数据的获取方法,其特征在于,所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据的步骤包括:
所述云端服务器确定预设时间内被访问的地图数据;
所述云端服务器判断所述地图数据被访问的次数是否超过预设次数;
所述云端服务器在所述地图数据被访问的次数超过预设次数时,从所述源离线数据中匹配出与所述超过预设次数的地图数据对应的部分,将匹配出的部分作为第一离线地图数据。
3.如权利要求1所述的离线地图数据的获取方法,其特征在于,所述云端服务器按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据的步骤包括:
所述云端服务器确定预存的最新的地图数据类型;
所述云端服务器从所述源地图数据中匹配出与所获取的地图数据类型对应的地图数据,并将匹配出的地图数据作为第一离线地图数据。
4.如权利要求1至3任一项所述的离线地图数据的获取方法,其特征在于,所述在所述客户端本地完成与地图有关的操作的步骤包括:
所述客户端接收地图模式选择指令,进入离线地图模式;
在所述离线模式下接收到与地图有关的操作指令时,所述客户端在本地获取所述操作指令对应的离线地图数据,并显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。
5.如权利要求4所述的离线地图数据的获取方法,其特征在于,所述在本地获取所述操作指令对应的离线地图数据,并显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果的步骤之后,还包括:
所述客户端获取客户端当前的网络状态;
所述客户端在当前网络状态比预设网络状态好时,从离线地图模式切换至在线地图模式;
在所述在线模式下接收到与地图有关的操作指令时,所述客户端向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据,并显示所接收到的地图数据以提示所述操作指令对应的操作结果。
6.如权利要求4所述的离线地图数据的获取方法,其特征在于,所述接收地图模式选择指令,进入离线地图模式的步骤之后,还包括:
在所述离线模式下接收到与地图有关的操作指令后,所述客户端判断客户端本地保存的离线地图数据是否支持所述操作指令对应的操作;
所述客户端在客户端本地保存的离线地图数据不支持所述操作指令对应的操作,从离线地图模式切换至在线地图模式。
7.一种云端服务器,其特征在于,包括:
第一获取模块,用于在接收到离线地图数据获取指令后,获取源地图数据;
处理模块,用于按照预设条件筛选所述源地图数据得到筛选后的地图数据作为第一离线地图数据;
压缩模块,用于按照预设压缩算法压缩所述第一离线地图数据得到压缩后的离线地图数据作为第二离线地图数据;
第一接发模块,用于将所述第二离线地图数据发送至所述离线地图数据获取指令对应的客户端,以将所述第二离线地图数据保存在所述客户端本地,供用户在所述客户端本地完成与地图有关的操作。
8.如权利要求7所述的云端服务器,其特征在于,所述处理模块包括确定单元、判断单元及处理单元,
所述确定单元,用于确定预设时间内被访问的地图数据;
所述判断单元,用于判断所述地图数据被访问的次数是否超过预设次数;
所述处理单元,用于在所述地图数据被访问的次数超过预设次数时,从所述源离线数据中匹配出与所述超过预设次数的地图数据对应的部分,将匹配出的部分作为第一离线地图数据。
9.如权利要求8所述的云端服务器,其特征在于,所述确定单元,还用于确定预存的最新的地图数据类型;
所述处理单元,还用于从所述源地图数据中匹配出与所获取的地图数据类型对应的地图数据,并将匹配出的地图数据作为第一离线地图数据。
10.一种客户端,用于与权利要求7至9任一项所述的云端服务器交互,其特征在于,包括:
第二接发模块,用于接收地图模式选择指令,进入离线地图模式;
第二获取模块,用于在所述离线模式下接收到与地图有关的操作指令时,在本地获取所述操作指令对应的离线地图数据;
显示模块,用于显示所述操作指令对应的离线地图数据以提示所述操作指令对应的操作结果。
11.如权利要求10所述的客户端,其特征在于,所述客户端还包括切换模块,
所述获取模块,还用于获取客户端当前的网络状态;
所述切换模块,用于在当前网络状态比预设网络状态好时,从离线地图模式切换至在线地图模式;
所述第二接发模块,还用于在所述在线模式下接收到与地图有关的操作指令时,向所述云端服务器发送获取所述操作指令对应的地图数据的指令,并接收所述云端服务器返回的所述操作指令对应的地图数据;
所述显示模块,还用于显示所接收到的地图数据以提示所述操作指令对应的操作结果。
12.如权利要求11所述的客户端,其特征在于,所述客户端还包括:判断模块,
所述判断模块,用于在所述离线模式下接收到与地图有关的操作指令后,判断客户端本地保存的离线地图数据是否支持所述操作指令对应的操作;
所述切换模块,还用于在客户端本地保存的离线地图数据不支持所述操作指令对应的操作,从离线地图模式切换至在线地图模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510039373.4A CN104580506B (zh) | 2015-01-26 | 2015-01-26 | 离线地图数据的获取方法、云端服务器及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510039373.4A CN104580506B (zh) | 2015-01-26 | 2015-01-26 | 离线地图数据的获取方法、云端服务器及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580506A true CN104580506A (zh) | 2015-04-29 |
CN104580506B CN104580506B (zh) | 2018-07-06 |
Family
ID=53095663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510039373.4A Active CN104580506B (zh) | 2015-01-26 | 2015-01-26 | 离线地图数据的获取方法、云端服务器及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104580506B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106226794A (zh) * | 2016-08-24 | 2016-12-14 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的离线导航方法、系统及移动终端 |
CN106383356A (zh) * | 2016-09-08 | 2017-02-08 | 哈尔滨工程大学 | 一种4g双天线北斗定位终端 |
CN107203524A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种打包APK文件的方法、加载Bundle文件的方法及系统 |
CN109710334A (zh) * | 2018-12-29 | 2019-05-03 | 北京小米移动软件有限公司 | 动态加载方法、装置及存储介质 |
CN110996260A (zh) * | 2019-10-08 | 2020-04-10 | 深圳市普天宜通技术股份有限公司 | 一种离线地图的获取方法、系统及存储介质 |
CN111649755A (zh) * | 2020-05-22 | 2020-09-11 | 上海电机学院 | 基于公交车站电子站牌的路径规划系统及其控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860628A (zh) * | 2009-04-08 | 2010-10-13 | 北京博越世纪科技有限公司 | 一项精准统计通过手机客户端下载应急地图次数的技术 |
CN103017783A (zh) * | 2012-12-05 | 2013-04-03 | 中兴通讯股份有限公司 | 导航方法及系统、地图数据管理云端及其数据更新方法 |
CN103471610A (zh) * | 2013-09-24 | 2013-12-25 | 沈阳美行科技有限公司 | 一种支持在线、离线双模式的导航方法 |
CN103473351A (zh) * | 2013-09-25 | 2013-12-25 | 广州派腾知识产权服务有限公司 | 一种实现车载导航仪在线更新地图的方法 |
CN103968847A (zh) * | 2014-05-14 | 2014-08-06 | 百度在线网络技术(北京)有限公司 | 电子地图离线数据组织方法和装置 |
US20140222950A1 (en) * | 2013-02-04 | 2014-08-07 | Navteq B.V. | Predictive Mobile Map Download |
-
2015
- 2015-01-26 CN CN201510039373.4A patent/CN104580506B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860628A (zh) * | 2009-04-08 | 2010-10-13 | 北京博越世纪科技有限公司 | 一项精准统计通过手机客户端下载应急地图次数的技术 |
CN103017783A (zh) * | 2012-12-05 | 2013-04-03 | 中兴通讯股份有限公司 | 导航方法及系统、地图数据管理云端及其数据更新方法 |
US20140222950A1 (en) * | 2013-02-04 | 2014-08-07 | Navteq B.V. | Predictive Mobile Map Download |
CN103471610A (zh) * | 2013-09-24 | 2013-12-25 | 沈阳美行科技有限公司 | 一种支持在线、离线双模式的导航方法 |
CN103473351A (zh) * | 2013-09-25 | 2013-12-25 | 广州派腾知识产权服务有限公司 | 一种实现车载导航仪在线更新地图的方法 |
CN103968847A (zh) * | 2014-05-14 | 2014-08-06 | 百度在线网络技术(北京)有限公司 | 电子地图离线数据组织方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203524A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种打包APK文件的方法、加载Bundle文件的方法及系统 |
CN106226794A (zh) * | 2016-08-24 | 2016-12-14 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的离线导航方法、系统及移动终端 |
CN106383356A (zh) * | 2016-09-08 | 2017-02-08 | 哈尔滨工程大学 | 一种4g双天线北斗定位终端 |
CN109710334A (zh) * | 2018-12-29 | 2019-05-03 | 北京小米移动软件有限公司 | 动态加载方法、装置及存储介质 |
CN110996260A (zh) * | 2019-10-08 | 2020-04-10 | 深圳市普天宜通技术股份有限公司 | 一种离线地图的获取方法、系统及存储介质 |
CN110996260B (zh) * | 2019-10-08 | 2021-10-22 | 深圳市普天宜通技术股份有限公司 | 一种离线地图的获取方法、系统及存储介质 |
CN111649755A (zh) * | 2020-05-22 | 2020-09-11 | 上海电机学院 | 基于公交车站电子站牌的路径规划系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104580506B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580506A (zh) | 离线地图数据的获取方法、云端服务器及客户端 | |
US7840612B2 (en) | Methods and apparatus for concurrently executing a garbage collection process during execution of a primary application program | |
CN105302587B (zh) | 数据更新方法及装置 | |
CN104965848B (zh) | 一种前端资源加载方法及装置 | |
CN102355500B (zh) | 业务推送方法和装置 | |
CN109408132A (zh) | 一种配置文件处理方法及服务器、用户终端、存储介质 | |
CN102077553B (zh) | 用于提供背景触发的背景模型分发的方法、设备和计算机程序产品 | |
CN104488291A (zh) | 用于促进云服务的利用的方法和装置 | |
CN101656739B (zh) | 组件更新方法、系统及设备 | |
CN104185036A (zh) | 一种视频文件回源方法及装置 | |
CN111797173B (zh) | 联盟链共享系统、方法、装置、电子设备及存储介质 | |
CN102163197A (zh) | 一种换肤方法、系统和装置 | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN111124299A (zh) | 数据存储管理方法、装置、设备、系统及存储介质 | |
CN104811485A (zh) | 一种资源分享方法 | |
CN111858050A (zh) | 服务器集群混合部署方法、集群管理节点及相关系统 | |
US7086051B2 (en) | Method and apparatus for just-in-time provisioning application-related information at a communication device | |
CN104702634A (zh) | 数据操作请求处理方法、装置及系统 | |
CN103297516B (zh) | 一种应用的多类型提供方法、系统及装置 | |
CN111245940B (zh) | 用于物联网通信模块中移动通信号码数据的处理方法、装置 | |
CN102137122B (zh) | 一种下载数据的方法及装置 | |
CN104570967A (zh) | 基于Android系统的远程控制方法及系统 | |
CN113783768B (zh) | 一种群组控制方法、群组控制装置和通信系统 | |
US8374593B2 (en) | Method of providing mobile application | |
CN114697339A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211009 Address after: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |