公共自行车的发展现状与对策.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公共自行车的发展现状与对策 0 公共交通质量不断恶化,为公共交通压力越来越大。在这也节点,设置了一个规范的《地铁》、《对于 随着人们生活水平的提高,私家车的数量也越来越多。私家车普及的同时, 对我们的生活环境造成了巨大的破坏, 城市交通的压力越来愈大。为了缓解以上情况, 公共交通逐渐流行起来, 公交、轻轨、地铁相继出现。而近年来, 公共自行车系统逐渐进入人们的视线, 它可以有效减轻城市交通你那个压力, 能做到真正意义上的节能减排, 并且可以解决公共交通系统“最后一公里”的问题 本文为了为用户提供便利的公共自行车服务 1 系统规划 根据需求分析结果, 本系统可分为两大部分:用户端和权限端。本系统使用Xcode开发环境进行开发, 采用Swift语言实现 2 系统的主要功能和实现 2.1 用户端程序执行 2.1.1 gnupwell合作界面的实现 用户在未登录状态下打开App会首先进入登录及注册界面。当用户打开该软件时, 首先加载的是Sign In View Controller。首次使用需要注册账户, 点击该控制器中的注册按钮, 会跳转至Sign Up View Controller, 在该界面中, 用户可输入想要注册的用户名和密码, 点击完成注册按钮后, 该数据会保存至Lean Cloud中, 并且该数据的position的值会默认设置为user。 完成注册后系统会自动返回登录控制器, 在该控制器中用户可以输入用户名与密码, 系统会将用户输入的值与数据库中的值进行比较, 若用户名和密码均正确则会跳转至下一个UIView Controller。 当用户成功登录后, 使用User Defaults保存一个用于判断是否成功登录的Key, Key的值为布尔型。当用户下一次打开软件时, 会首先判断该Key的值, 当值为true时则会自动登录。 2.1.2 基于性能的地图代理 用户成功登录后会进入地图界面, 该界面及相关功能的运行效果如图2所示。登录成功后, 会跳转至Map View Controller。 本系统使用的地图服务是高德地图, 导入高德地图SDK后, 定义MAMap View类并将其添加至该控制器的view中。使用高德地图的地图代理 (MAMap View Delegate) 、搜索代理 (AMap Search Delegate) 、步行导航代理 (AMap Navi Walk Manager Delegate) 并重写其相应代理方法, 从而实现定位、查找自行车、路线规划等功能。 在重写步行导航代理方法时计算出距离与步行时间, 并当成功规划出路线时, 将其在自定义的Notification View中显示。 2.1.3 用车请求的获取 用户点击扫码用车按钮进入扫码界面, 如图3所示。 用户通过点击地图界面的扫码用车按钮跳转进入Scan View Controller, 在该控制器中, 重写view Did Appear方法, 在该方法中调用系统摄像头用于二维码识别。 导入AVFoundation框架, 通过重写AV Capture Metadata Output Objects Delegate的代理方法实现扫码功能。扫码成功后, 在handle Code Result方法中获取扫码结果即车牌号, 基于该车牌号新建用车请求记录对象并保存至数据库的Usage Record表中。 在view Did Load方法中, 新建AVQuery类的变量query, 初始化query的class Name为Usage Record, 并将其注册为AVLive Query类进行订阅, 使用AVLive Query Delegate代理中的object Did Update方法可以监控对象是否发生变化。 当操作员批准用车请求后, 对象的is Approved值会发生改变, object Did Update方法便会被调用。因此重写object Did Update方法, 当调用该方法时会将扫码成功时保存的对象传入下一个UIView Controller中, 并调用present方法进行跳转。 点击打开手电筒按钮可以打开手机的手电筒, 该方法主要是通过更改AVCapture Device.Torch Mode的状态实现对手电筒的监控。 2.1.4 uearquerad软件界面介绍 用户点击手动输入车牌按钮进入该界面, 如图4所示。 在某些特殊情况下会出现无法进行扫码的情况, 用户可以通过点击扫码界面的手动输入车牌按钮跳转至Hand View Controller。 该控制器同样需要订阅AVQuery为实时更新类AVLive Query, 该部分的实现方法与扫码界面相同。 该控制器中的主要控件有输入框text Field和用车按钮use But

文档评论(0)

xlwkyc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档