仿小黄车android定位,小黄车ofo是怎么实现自行车定位功能的?

a8a476e7b68feaa847d9b85138a0c532.png摩拜单车通过车身携带的GPS而实现单车定位,但是我们知道ofo是没有安装GPS,它又是如何实现单车定位的呢?

我居住的地方距离地铁站步行大约15分钟左右,距离最近的商场步行将近30分钟,距离周边的便利店,水果店,饭店等步行10分钟左右,所以一直在纠结要不要买一辆代步的自行车,是买二手的还是新的。

纠结的原因一个是因为自行车存放的问题,另一个是使用率确实比较低,花几百块钱买一辆车,每周就骑一两回,又带来一大堆恼人的问题, 感觉得不偿失。

小红车,小黄车,小蓝车等共享单车的出现,随用随取,无桩停车,只需在骑行的时候支付租赁费用的模式,简直是给我这样的人量身定做的,所以我一直是共享单车的使用者和死忠粉。

在共享单车领域 ,一类是以摩拜单车为代表,自己研发的车辆,这种车辆拥有一个智能锁,这个锁不仅能锁车,还内置了电池,gps和联网模块来实现定位功能,当用户在骑行的时候,通过发电装置发电然后存储到电池里面,保证gps及其它部件的用电。

而另一类是ofo这样的:普通款的车辆和机械密码锁(目前貌似只有ofo一家)。摩拜单车的成本在3000+,ofo的成本只有200元左右,成本差别这么大,功能居然一样,是不是很奇怪?

f08248c59a4aa81318a29adeaeb566eb.png

我们来看看用户能感知到的小黄车的使用流程(没有包含没有押金和余额不足的情况),在这个过程中只有两个步骤用户跟服务器有交互,一个是获取密码的过程,另一个是骑行结束后扣费的过程, 小黄车并没有定位装置,用户在使用前是怎么定位到附近车辆的位置的?

秘密就藏在用户跟服务器交互的过程中,实际上ofo采用了一种巧妙的做法:小黄车虽然没有定位系统,但是骑行的人的位置通过app或者公众号是可以定位到的,获取了骑行的人的位置,等于是获取了小黄车的定位。用户在一段骑行结束后,在ofo的app或者公众号上操作“结束骑行”时,除了上行自己骑行的时间,同时也上传了自己当前的地理位置。而ofo把这个位置作为这辆车当前的位置显示在地图上,当附近的人在ofo的app或公众号中找车时,就会把这个位置在地图上显示出来。简单点说就是把前一个用户骑行结束时代位置作为下一个用户找车定位的位置,实际上在用户操作过程中,还有感知不到的部分,如下图所示:

06319ac24874d4875074212f64d02d5e.png

ofo用很低的成本,实现了类似摩拜单车的定位功能,这种方式很取巧,必然有很多不严谨的地方,这也导致运营上的一些不方便:比如当一个用户骑行结束后,忘记点击“结束骑行”了,走了一段路回家才想起来点击,这时候服务器获取的这个定位实际上是个垃圾数据,这个位置实际上并没有车,但是ofo会把这个地址标注为用过的那辆车的位置。在地图上标注这个位置有车,当附近有人找车时,地图上会显示周围有车,这是非常坑爹的,我想很多朋友遇到过这样的情况吧。

除了坑别人,这种定位也会坑自己,ofo只能根据用户提交的位置信息来定位车辆,定位错了,车辆也就找不到了,如果车辆被城管拉走,被偷走,ofo几乎是不知道的,车辆维护起来也比较麻烦。

作者:木木,高级产品经理,曾经在人人网,新浪微博等社交媒体从事产品运营工作,公众号:大白学堂(ID:dabaixuetang)

本文由 @木木 原创发布于人人都是产品经理。未经许可,禁止转载。

给作者打赏,鼓励TA抓紧创作!赞赏

3人打赏

36b92ba8179cb99b2bca915fafb44676.png

17c88adbf127c50a10f2a0de9c378774.png

5ae62d96f03e51b76de6616b894cf2af.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gprs连接中断记录_请收好!脉搏波血压计连接天天血压APP使用指南

总有那么几个粗心的小伙伴丢失了说明书,在后台追问波哥如何连接“天天血压”,于是给大家安排了这篇使用指南。首先我们来了解下“天天血压”的功能:1.通过蓝牙或GPRS传输,同步记录每次测量结果;2. 血压趋势分析&#x…

使用Spring Boot,JHipster和React构建照片库PWA

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 从本质上讲,React只是一个UI工具包,即ala GWT,但是…

names文件和data文件_data.table让你的读取速度提升百倍

不知道大家有没有用read.table和read.csv读取过文件,当文件不大的时候你可能还感觉不出读取速度,但是当文件比较大的时候,比如有上万行的时候,你就会感觉到等待时间明显变长,甚至无法忍受。今天小编给大家安利一个实用…

差分放大电路差模共模公式_提高差分放大器的共模抑制比,电阻的选择很关键...

在各种应用领域,采用模拟技术时都需要使用差分放大器电路。例如测量技术,根据其应用的不同,可能需要极高的测量精度。为了达到这一精度,尽可能减少典型误差源(例如失调和增益误差,以及噪声、容差和漂移)至关重要。为此…

label标签 html5,HTML5 label 标签

实例HTML5 标签用于为 input 元素做出标记。带有两个输入字段和相关标记的简单 HTML 表单:MaleFemale尝试一下 浏览器支持目前大多数浏览器支持 标签。标签定义及使用说明标签为 input 元素定义标注(标记)。label 元素不会向用户呈现任何特殊效果。不过,…

me shy是什么歌 抖音make_抖音星河滚烫你是人间的理想下一句是什么歌 星河歌词完整版...

最近在抖音上听到一段话,这段话的开头是“星河滚烫,你是人间的理想……”。抖音星河滚烫你是人间的理想下一句是什么歌?星河歌词介绍?星河,是非常好听的一首歌曲,是很多人都喜欢的一首歌曲。抖音星河滚烫你…

修改使用计算机的名称,Windows 10中修改计算机名称的方法,你知道几种?

当用户新入手一台电脑时,通常做的第一件事就是做一些个性化设置。一般来说个性化的第一步就是给计算机起一个自己满意的名字,下面介绍几种修改计算机名字的方法。通过设置更改计算机名字按WinI键进入设置,在设置窗口中找到“系统”,点击它。在…

apollo 参数传递_使用Apollo通过WebSocket通过STOMP轻松进行消息传递

apollo 参数传递在我以前的文章中,我介绍了几个有趣的用例,这些用例使用著名的消息代理HornetQ和ActiveMQ通过Websockects实现STOMP消息传递。 但是我没有介绍的是Apollo,因为我个人认为它的API是冗长的,并且不像Java开发人员那样…

使用IntelliJ调试Java流

流功能非常强大,只需几行就可以捕获您预期功能的要点。 但是,就像它们在一切正常工作时一样平滑,就像它们在表现不正常时一样令人痛苦。 了解如何使用IntelliJ调试Java Streams并深入了解Stream的中间操作。 在本文中,我将在示例…

echart 饼图每一块间隙_花10分钟做酱香饼,简单方便又美味,酥脆咸香比买的还要好吃...

花10分钟做酱香饼,简单方便又美味,酥脆咸香比买的还要好吃前几年,在单位附近有一家只做酱香饼的小店,刚开张的时候排很长队,我为了一块酱香饼排队半小时。后来买酱香饼的人少了,我三天两头买一块酱香饼解馋…

404 单页应用 报错 路由_通过 Laravel 创建一个 Vue 单页面应用(五)

文章转发自专业的Laravel开发者社区,原始链接:https://learnku.com/laravel/t/34858我们在第4部分完成了编辑用户的功能,并且学习了如何使用 v-model 来监听视图组件中用户信息的更改。现在我们可以开始构思删除用户功能,以及删除…

使用计算机求解雷达方程,关于雷达方程

满意答案zjit99402014.01.27采纳率:41% 等级:12已帮助:2803人带宽校正系数是Co而不是Do.我们知道雷达接收到回波信号后,必须进行信号处理,使中频接收机的输出端(检波器的输入端)输出的信号和噪声功率比(简称信噪比)…

7500 cpuz跑分 i5_小米Pro笔记本亮相跑分网站:处理器包含AMD Zen3、11代酷睿

2020年已经接近尾声,随之而来的将会是一大波新品发布会,不仅是手机,笔记本电脑、显卡等产品也会有新品亮相。一年一度的CES 2021也即将开幕,届时英特尔、英伟达、AMD等知名厂商也都将出席活动。据悉,英特尔将推出11代酷…

2能不用cuda_洗洁精不用花钱买,自己在家就能做,成本2毛钱,比买的更好用

点击上面“妙招姐”免费关注图文版:哈喽大家好,我是妙招姐,洗洁精是我们生活中的必须品,但用洗洁精来清洗餐具或水果等和食物相关的东西多多少少都会有残留,那么今天妙招姐就来教大家用橘子皮来自己制作洗洁精&#xf…

centos模拟post请求_java模拟post和get请求(2019/10/25)

一、http含义的介绍1.http协议是超文本传输协议--具体含义请百度2.基于tcp/ip协议--注意和udp的区别3.无状态---本次请求记不住以往请求的状态4.无连接--每次连接只处理一个请求5.媒体独立二、请求报文的组成部分请求行 请求方式 请求url http协议版本请求头关于请求头和响应头…

浙江计算机二级报名步骤,浙江2016年9月计算机二级考生报名流程

导读:2016年9月浙江全国计算机二级考试网上报名时间为2016年6月1日-6月19日;现场缴费确认为6月1日6月20日,具体报名流程请看如下信息。想了解更多相关信息请持续关注我们应届毕业生考试网!(一)注册账号和登录1)考生首次登录系统需要注册登录通行证&#…

单开双控_卧室或者楼梯灯怎么安装单联双控

点击上面蓝色字体关注!装修图例 | 别墅装修 | 装潢装饰 | 样板楼梯 | 装修设计在改电和布线前我们在这两个开关之间预埋3根线就够了。如果一头接电源,另一头接控制线的话,预埋2根线就够了,双控开关有三个接线柱,只要记…

Apache Ignite变得简单:第一个Java应用程序

在本文中,我们将更进一步,让您完成第一个Ignite应用程序的创建,以从分布式缓存中进行读写操作。 作为第一个示例,我们将尽可能简单地向您展示如何用Java编写用于处理Apache Ignite集群数据的应用程序。 可从GitHub存储库&#xf…

华测数据导出方法_输电线路塔基测量成图方法研究与应用

1.前言塔基测量成图软件是EATool第一个电力勘测模块,也是笔者个人刚参加工作时开发的第一个与工作直接相关的软件。该模块开发开始于2010年,于2012基本成型。记得第一次参加线路工程终勘定位,对于老员工的塔基断面测量模式有着诸多疑惑&#…

MQ在计算机组成,[转载]计算机组成框图-计算机运行流程(例子)

计算机组成框图-计算机运行流程ACC(Accumulator): 累加器MQ(Multiplier-Quotient Register):乘商寄存器ALU:算术逻辑单元X:操作数寄存器CU:控制单元IR(Instruction Register):指令寄存器(用于存放当前指令)…