为何使用了离线地图还会消耗手机流量,有办法避免吗?

  2019-11-15来源:网络

  原标题:为何使用了离线地图还会消耗手机流量,有办法避免吗?

为何使用了离线地图还会消耗手机流量,有办法避免吗?
我有个亲戚是出租车司机,说地图流量消耗很大,网上各种地图都说有离线地图,真的能做到不需要任何流量吗?什么原理?求教
做地图有段时间了,值得欣慰的是,终于有人意识到了「离线地图」文字上的猫腻了。
先直接解答题主的疑惑:
1、即使下载了「离线地图」,大多数地图APP在正常使用过程中依然会消耗流量。2、完全不消耗流量的地图APP(即「零流量地图」)是完全可以实现的。
要详细解释这个问题,需要搞清楚手机离线地图的发展的几个时代:
一、「先下再用」时代
早期的手机地图,必须先下载从几百MB到几G容量不等的地图数据包,然后配合导航应用使用。用过塞班手机的同学应该还记得著名的R66导航吧?当时就是这么用的。
印象中,那时的地图,等同于400MB左右客户端+1G以上地图包+零流量(GPS定位时)。
二、「即需即下」时代
所谓「离线地图」,只相当于一张画满了建筑和道路的图层,由于平常人去的地方非常有限,没必要预置全世界的地图图层在手机中(会占据大量手机容量),因此部分地图APP采用了全在线地图的方式,「即需即下」,GoolgeMap就是如此。在网络通畅、流量便宜的地区,这种服务非常方便。
看了早期的GoogleMapforAndroid,客户端15MB,因为要下载图层,流量消耗没有上限,根据使用情况而定。
三、「离线地图」时代
由于每次都需要加载图层、流量消耗较大,工程师发现:与其每次下载图层文件,不如把一些常去地的图层做成大小能接受的数据包(即离线地图包),供用户在wifi等流量不敏感的环境下下载,这样使用地图时,就不用消耗读取图层所需要的流量了。「提前预知所需,先下再用」,百度、高德地图都是这个思路。
在制作离线地图包的过程中,工程师花了不少心思在减少地图包的大小上,比如通过矢量绘制等方法。目前主流的地图APP已经把城市地图包压缩在几十MB大小。
比如百度地图foriOS,客户端46MB,北京市18.6MB地图包,根据搜索、导航、定位的使用情况,耗费几百KB到数MB不等的流量。
四、「零流量地图」时代
随着LBS服务的兴起、人们出行需求日益增多,用户又提出了新的问题:为何我下载了离线地图,定位、搜索地点、规划路线还需要联网?随着网络变化,地图部分服务的速度也会受到影响,这个有办法解决吗?
其实,地图定位分为GPS卫星定位和基站定位:在户外卫星信号较好时,采用GPS卫星定位,室内等卫星信号不好的地方,则通过手机接收到的基站或wifi信号,采用了多源融合及指纹等方式进行定位。后者需要耗费少许流量。同时,搜索地点、规划路线因为涉及到云端算法,必须请求到云端才能返回相应结果,该步骤也需要联网、消耗流量。
为了尽可能节省流量,工程师们再次脑洞大开:手机地图的使用场景主要是在室外,如果只通过GPS定位,关掉基站定位,同时把搜索、路线规划等服务从云端搬到手机上,不就解决了流量耗费的问题了嘛(当然室内定位时需要借助wifi或基站)?同时,由于运算都是在手机上进行,不需要去云端请求结果,等待时间也减少了很多。
事实上,这样做还得克服一堆困难——比如说,如何保证云端复杂的服务迁移到手机本机时,能够高效并且占用更少的资源?
工程师们再一次给出了解决办法:在选择合适的数据结构和算法后,采用漏洞模型只加载必要的数据,同时合理设计缓存、提升运行速度,并且提前做大量离线计算、存储中间结果。这也是为何部分地图存在「离线导航包」的原因。
在这个过程中,「提前做离线计算、存储中间结果」是非常有必要的:在离线公交路线的计算过程中,很多中间计算信息是固定不变、可以提前算好的,因此可以存储成中间数据。为了不让中间数据过大导致离线地图包太大,对这些数据做合理压缩,便可大大提升运行效率。比如目前,全北京公交离线数据,也只要8MB。
搭车做个我厂的广告:目前市面上的覆盖主流平台的零流量手机地图,只有腾讯地图一家,最新的iOS版本20MB左右客户端,北京市离线地图包+导航包约100MB。使用时若全程开启零流量模式,除了部分GPS信号覆盖不到的地方可能需要耗费几Byte的流量进行定位,离线搜索、离线公交、离线步行规划、离线驾车导航都可看成是不消耗任何流量。
谢谢评论中的朋友提醒:WP平台的Here地图也支持零流量功能,这里为自己的无知道歉。
五、可预期的未来
技术永无止境,手机离线地图的发展,也许还有几个值得期待的方向:
1、地图包增量更新:城市发展日新月异,地图底图的更新也愈发频繁,但是总不能每次都下载完整的地图包吧?通过增量更新,可以让用户只更新增加的数据部分,可以想见,未来不用在WIFI网络下,都可以通过极少的流量获得最新的地图数据。
2、离线街景地图:相比虚拟图层,人们可能更倾向于在街景照片中查看路口、参照建筑物,随着图片数据压缩技术、手机硬件技术的提升,未来可能在离线数据包中,就能看到关键路径上的街景参照物。
一孔之见,希望能抛砖引玉。
利益相关:本人腾讯员工。
—————————————吐槽分割线———————————————
本职工作相关的问题回答得到了这么多赞还是第一次,不由得为自己之前抖机灵得到高赞的答案感到惭愧。
今天周末,看到楼下@包不平同学直指我「为广告而生」,犹豫再三,还是回应下吧:
1、「例如近几日知乎日报上的【离线地图】话题说起,前面首先以几年前的谷歌地图和塞班地图技术基础支持做了简介,后面完全就是给【腾讯地图】在做广告」
凡是认真阅读过知乎日报的转载,就可以了解到:日报正文中,关于腾讯地图的「广告」部分是被完全删去了的。而在知乎这个相对垂直的网站中里,通过一大段文字回答中的一小段文字来做「广告」,用您所在的「信息传媒」行业里的术语讲,到达率太低,转化率也太低。
2、「零流量手机地图」是否等于「零流量手机导航」?
在评论下我已经多次回答这个问题。诚然,很多导航软件本身就是零流量的,但是「导航」是否等于「地图」?导航软件由于其专业性,只适用于行车用户。地图,作为普通用户接受度更高的产品,在驾车导航之外,还需要步行、公交导航适配各类更为大众的用户需求(导航产品绝无此功能)。竞争对手的导航产品做到了零流量,但不代表地图产品也做到了零流量。我在正文里详细解释了「零流量地图」的实现难点,希望您不要混淆概念。
3、「地图客户端可以做到很小,你们不算小」、「你们的地图不能分城市下载」blabla……
为了避免直接评论竞品,请有心人自己看看主流地图应用的文件包大小。至于腾讯地图的离线地图能不能分城市下载,产品就在线上呢,大家可以试试,我没必要指鹿为马、空口说白话。
4、回应您的同时,我还有一些有趣的发现,这里和大家分享:@包不平同学承认是小号,「因为怕被咬」。我好奇一个小号如何能在话题热度已过的周末,短期获得117赞(截止周六晚10点半,该回答仅发布13小时),直到我点开了点赞名单。
其中类似@柳青纪、@古睿这样的0关注、0文章、0回答的用户高达95%(有心人可以看看这些ID的个人资料,他们行为类似,都仅仅点赞一次,而且赞的都是@包不平这位仁兄的答案)。好巧。我不是阴谋论者,不过看到这里,相信大家心中都已有公论。我很赞赏您在回答开头和结尾高屋建瓴的「知乎道德观」,为此我在来到知乎之后,一直诚恳地回答问题,希望能对大家有所帮助。如果「夹带私货」的行为冒犯了您和您背后力量的利益,实在抱歉。不过也奉劝一句:做水军,还是认真些吧。PS:抱歉说了这些多没用的,该问题仅回应一次。我还是努力给大家做好产品、少把大家带到沟里:)