本文是由奇虎360公司高磊关于使用百度地图仿摩拜单车APP,原文地址:http://blog.csdn.net/gaolei1201/article/details/60876811

最近共享单车很火,动辄几亿美刀,屌丝的我只有羡慕的份。啥时候自己也能创一番事业呢?我眉头紧皱深深地思索着。个人认为LBS是移动互联网最主要的特征之一,自己以前没做过地图有关的项目,看到网上也没有完整有关地图的项目,就想起模仿一下摩拜单车app,我这个小项目包括附近车辆、规划路径、行驶距离、行驶轨迹记录、导航等(也挺全的哈);

需要注意:

0、其中的附近车辆用的是假数据,实际项目中你上传自己的经纬度然后服务器端会返回给你附近车辆列表显示出来就行。行驶轨迹记录都是保存在本地数据库,实际项目中你可以隔几秒上传一次踩点列表到服务器,防止APP被杀死或其它异常导致以前踩点消失

1、距离是取两个位置点的直线距离,DistanceUtil.getDistance(lastLatLng, currentLatLng)。然后把所有这些距离相加就是总距离,这是通常算法
2、实际项目中可定时你上传当前位置,然后服务器返回给你附近自行车数据,你展示一下就行。

3、行驶轨迹就是开启后台Service每隔几秒收集一次经纬度,到最后必须把所有经纬度上传到服务器,这样就算app被卸载,重新安装你还可以获取到行驶轨迹。有两种思路,一是边收集变上传到服务器或数据库,这样可以防止手机重启或App被杀死导致以前的数据消失,二是等结束进程时上传到服务器。

4、百度内置导航语音播报的问题:能正常导航,但是无法语音播报?

除了地图显示、定位、导航需要的配置之外,tts播报需要添加白名单,点击进入配置地址。

还有就是要分清提交时是debug版和release版的MD5,如果是测试版MD5那么发布版的语音还是没声音

发布版md5或sha获取方法:keytool -list -v -keystore /Users/gaolei/Work/CompanyProject/Bike/BiuBike/BiuBike/biubike.jks

测试版md5或sha获取方法:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

百度地图开放平台注册不需要公司营业执照什么的,个人就能注册,地址:http://lbsyun.baidu.com。

首先建议大家吧百度地图API的demo下载下来研究一下,它包含我们用到的所有知识点,你再把资源整合一下就行了。SDK的Demo下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar

运行效果图

遇到的大坑:

1、我的百度 key肯定是没错,在魅族4.4系统上正常,而在三星C7 和coopad 106(都是6.0系统)不能正常显示,而是一片蓝,获取不到当前位置?如图

解决方法:原因是我设置targetVersion>=23,那么运行到6.0及以上设备时,默认所有权限都不开启,必须动态requestPermission,这里需要位置权限,默认没开启导致此结果,把targetVersion=22就行,当targetVersion<23时,默认开启全部权限。

1.2、地图只显示网格不显示建筑

解决方法:百度开放平台时 debug md5没配置正确,不同电脑或环境 debug md5 不一样,如果用我的项目直接运行可能就会出现这种情况,因为你的电脑环境debug md5和我的电脑环境debug md5不一样。你可以打一个release包 因为release md5如果用同一个签名是不会变的。你也可以在百度地图开放平台自己注册账号配置信息

2、仿DrawerLayout的覆盖型侧滑菜单,研究了好久,可参考:http://blog.csdn.net/gaolei1201/article/details/50404941,https://github.com/gaoleiandroid1201/DrawerLayout

3、位置图标不跟着自己运动,查看自己代码也没有问题啊,调试了好久,跑了不少冤枉路,莫名其妙

解决方法:把百度sdk中的初始化地图和配置参数等代码拷进来代替,果然奏效

4、进程保活,这个不能完全保活,只能尽量保活,除非是被加入白名单或自启应用像微信,但是有些 app像行者和咕咚就算app被杀死了也能活下来,不清楚是怎么实现的,以后有需要在研究。还有就是AlarmManager当手机重启或app被杀死,它也会失效的

5、如果没有第三方导航APP,可以做百度地图内置导航,也耗费了不少时间。主要是官方Demo不能跑通,自带key验证不通过,还要自己研究

6、项目下载地址:https://github.com/gaoleiandroid1201/BiuBike

仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,导航等)相关推荐

  1. Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,导航等)

    Android百度地图实例详解之仿摩拜单车APP(包括附近车辆.规划路径.行驶距离.行驶轨迹记录,导航等) 标签: android百度地图行驶轨迹记录共享单车行驶距离和时间 2017-03-08 20 ...

  2. Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,轨迹回放,导航等)

    转载请标明地址:http://blog.csdn.net/gaolei1201/article/details/60876811 2016一路有你,2017一起奋斗! 最近共享单车很火,动辄几亿美刀, ...

  3. android 滑动接听源码,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...

    Android精选源码 Android优质博客 前言permissions4m 最初的设计是仅仅做成一个编译器注解框架,在1.0.0版本时,它纯粹地实现了原生 Android 请求流程,关于它的设计思 ...

  4. android 卡片上滑放大,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...

    Android精选源码 Android优质博客 前言permissions4m 最初的设计是仅仅做成一个编译器注解框架,在1.0.0版本时,它纯粹地实现了原生 Android 请求流程,关于它的设计思 ...

  5. 摩拜单车地图显示的红点是什么_摩拜单车APP地图上推出了带“P”标识的推荐停车点...

    在为期一年的共享单车企业运营处事查核中,每日电讯网,日均规整违停单车4万余辆,电子厂净化车间,针对市区主要路段共享单车乱停乱放问题开展专项清理,(完) . 用户在APP上可看到被灰色条块包围禁停区域和 ...

  6. 微信小程序仿摩拜单车

    本小程序仿摩拜单车的地图显示和拖动部分,单车数据采用周边厕所模拟.index.wxml如下: <map id="map" bindcontroltap="bindc ...

  7. APP案例分析-摩拜单车app

    第二次作业-App案例分析 本次案例分析选用的是 摩拜单车IOS5.7.5版本 测试环境为 IPhone 6s (IOS11.0.1,含有3DTOUCH功能).本次案例分析仅针对APP 而言,并不涉及 ...

  8. 获取摩拜单车在地区的车辆python多线程实现

    通过微信小程序(摩拜),填写请求头,数据,post方式传递给服务器获取response 反反爬虫:useragent轮转(手机useragent).代理ip.休眠0.1s 代码分为两部分:多线程获取代 ...

  9. 抓取摩拜单车车辆位置数据

    注:此篇文章是转载,如有侵权请告知,将予以删除 转自:https://www.zh30.com/crawl-mobike-location.html 每天从下车站到公司还有好几米的路要走,这对于现在能 ...

最新文章

  1. 轻量级git服务器 Gogs git 服务器搭建
  2. 牛客 Tree(最小深度总和)(两种方法求重心)难度⭐⭐⭐
  3. Android Google 服务框架相关问题
  4. MyEclipse中Web项目的重命名问题
  5. 22 React高阶组件
  6. 用GDB Server进行远程调试
  7. 云漫圈 | 有趣的海盗问题 (完整版)
  8. 在HermesJMS中创建ActiveMQ Session
  9. 软件测试 学习之路 CSS(一)
  10. PSP金手指CMF_r21d修改版安装方法
  11. Vue:vue中axios通过代理解决跨域
  12. mysqldump 工具的使用
  13. dos批处理文件中使用vbs
  14. 模拟银行排队叫号机 2011.04.18
  15. python 温度 符号_python中如何将华氏温度转换为摄氏温度?
  16. 计算机上什么键有存储,电脑的保存快捷键是什么?电脑保存快捷键介绍
  17. 公司内部分享【富有成效的每日站会】总结
  18. 2018年已经过了一半,你还记得年初时候定的小目标么——致已经逝去的2018上半年
  19. 【opencv-python】 cv2.subtract(...)图片减法
  20. Vmware14安装苹果系统macos

热门文章

  1. java基于SpringBoot+Vue+nodejs的网上订菜买菜果蔬商城系统 element
  2. '^X 离开'和M-U 撤销' 该按什么键
  3. 教你写一个基于TCP的简易聊天室
  4. 计算机ppt实验报告总结怎么写,ppt实验报告总结
  5. 开源: EDSMap,e都市的Flex版本
  6. 电脑调分辨率黑屏了怎么办_分辨率调不了怎么办 电脑屏幕分辨率调不了的原因及解决方法...
  7. [转载] 图像处理入门教程
  8. unity 360度对某个物体进行查看_camera
  9. Python画一个五星红旗
  10. java流水号生成规则(固定位数,先通过数字生成,数字用完字母生成)