返回顶部
首页 > 资讯 > 精选 >类似滴滴打车小程序系统开发的方法
  • 594
分享到

类似滴滴打车小程序系统开发的方法

2023-06-26 08:06:05 594人浏览 八月长安
摘要

这篇文章主要介绍“类似滴滴打车小程序系统开发的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“类似滴滴打车小程序系统开发的方法”文章能帮助大家解决问题。功能一:滴滴首页功能描述:顶部导航的制作,点

这篇文章主要介绍“类似滴滴打车小程序系统开发的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“类似滴滴打车小程序系统开发的方法”文章能帮助大家解决问题。

类似滴滴打车小程序系统开发的方法

功能一:滴滴首页

功能描述:顶部导航的制作,点击相应的nav页面呈现不同的内容,并且点击时能判断是向前还是向后自动滑出下一个nav,实现动画过度效果。输入起始位置模拟等待的时间。
实现原理:

  • 模拟等待时间加载效果,使用组件化的概念,创建一个template文件夹

<template name="sprinner"><block wx:if="{{isLoading}}">   <view class="spinner">   <view class="bounce1"></view>   <view class="bounce2"></view>   <view class="bounce3"></view>   </view></block></template>

在需要用到加载效果的地方就可以直接使用,

 <import  src="/templates/sprinner.wxml" /><template is="sprinner" data='{{isLoading}}'></template>//通过去设置isLoading的布尔值来判断是否需要显示
  • 头部导航并且点击时能判断滑出方向以及自动滑出,我们可以通过一个scroll-left="{{navScrollLeft}}"这个属性去设置,点击nav我们可以动态的去改变这个值,从而达到这种效果。

  <scroll-view scroll-x="true" class="nav" scroll-left="{{navScrollLeft}}" scroll-with-animation="{{true}}"><block wx:for="{{navData}}" wx:for-index="id"  wx:for-item="navItem" wx:key="index"><view class="nav-item {{currentTab == id ?'active':''}}"  data-name="{{navItem.name}}" data-current="{{id}}" bindtap="switchNav">{{navItem.name}}</view></block>            </scroll-view>

怎样去改变这个navScrollLeft的值呢?一开始想的是去设置一下nav的导航的left,然后超出则隐藏。坑啊,根本就实现不了。无法判断左滑出还是又滑出,后来又想到设置一个阈值。累真的难写。好像放弃啊,还是坚持下吧,于是想到分开来取写他们的js

switchNav(e){   var cur = e.currentTarget.dataset.current;         var singleNavWidth = this.data.windowWindth/4; //获取屏幕宽度存放放四个nav,        this.setData({            navScrollLeft: (cur - 1) * singleNavWidth, //点击去减少每一个nav的值            currentTab: cur,        })   switchTab(e){        var cur = event.detail.current;        var singleNavWidth =55; //设置每一个nav的宽度        this.setData({            currentTab: cur,            navScrollLeft: (cur - 1) * singleNavWidth //同样动态的去改变这个值        });    },

第一次打理这种顶部导航效果的小程序,而却还带一点特效的。以后的你如果碰到了就可以回来借鉴借鉴,避免跟我一样,在这里浪费大量的时间和精力了。我们可是要完成有效时间创建更大价值的程序猿呀...

功能二: 起始位置的选择

为了做这个效果,反反复复的看了n遍文档,真的是比较坑爹。微信小程序api对于地图这方面讲的确实不怎么详细,可能是我这种对地图处理天生迷茫的人。这里将详细的把我遇到的问题一一列举出来,希望也能够帮助到今后的你去处理地图这种东西少踩点坑吧。


这里使用到了关键词搜索,逆地址解析,地址解析,切换城市列表,建议以后做这个可以了解下腾讯地图api,还是比较方便的

var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');//导入需要使用的包,创建一个libs文件夹var qqmapsdk;qqmapsdk = new QQMapWX({  key:'DHNBZ-2ZLKK-T7IJJ-AXSQW-WX5L6-A6xxxx'//申请自己的开发者密钥});qqmapsdk.reverseGeocoder({ //逆地址解析api,可以根据你的经纬度去解析位置地址  location: {    latitude: latitude,    longitude: longitude,},  success: function (res) {   conslog.log(res)    }

第一个坑:如何去获取经纬度呢,移动markes?,天呐这要写多少,对于大牛们来说可能分分分钟,对于刚入门的小生来说难度还是挺大大。沉思良久,突然发现 this.mapCtx.getCenterLocation,移动地图事件获取地图中心的经纬度。那么我们可以去固定一个 controls在地图中心,去移动地图来解析他的坐标位置,将数据绑定在下面显示出来,于是就实现了。emmm代码如下

 bindregionchange: function(e){  //移动地图事件    var that = this    this.mapCtx.getCenterLocation({ //getCenterLocation可以获取地图中点的经纬度      success: function (res) {        app.globalData.strLatitude=res.latitude  //存放到全局去,供后面计算价格使用        app.globalData.strLongitude= res.longitude      qqmapsdk.reverseGeocoder({        location: {          latitude:  res.latitude, //通过移动地图可以得到相应中心点的经纬度          longitude: res.longitude,      },      success: function (res) {        that.setData({          address: res.result.address, //得到的经纬度逆地址解析得到我们的位置信息          bluraddress: res.result.fORMatted_addresses.recommend        })      },      });

第二个坑: 目的地调用api一样可以实现搜索提示功能,但我需要历史记录也存在,并且点击某一项我需要跳转到首页显示出来,没有历史的页面体验感极差。是否?这里我是这样实现的

qqmapsdk.getSuggestion({ //调用api实现关键词搜索提示      keyWord: value, //传递input的值,这里要传value不是'value',刚开始犯困。提示一下      region: '南昌',       success: function(res){        let data = res.data      that.setData({        address: data,         value      })
 <view wx:if="{{!value==''}}" class="destination" wx:for="{{address}}" data-destination="{{item.title}}" data-end="{{item.address}}" bindtap="toIndex" wx:key="{{item.id}}"> <view wx:if="{{value==''}}" class="destination" wx:for="{{ entity}}" data-destination="{{item.title}}" data-end="{{item.address}}" bindtap="toIndex" wx:key="{{item.id}}">

通过wx:if去判断输入框。下面for不同的数组,填了第一小坑坑。接下来就会去思考,当我们点击搜索的怎么把它加入到我们的历史中呢?点击获取那个值的id然后push到历史数组中去,是不是很nice,实现了滴滴起始位置的选择,当然我们这这是冰山一角,强大的背后还需要去探索。

功能三: 滴滴费用计算

古人云:细节决定成败,一个良好的微信小程序往往就是一些细节打动人心,居然是模仿,虽做不到百分百,至少还是很希望一模一样。

分析分析,首页点击呼叫快车页面不跳转,但要显示不同的内容。是不是也可以跟上面一样用wx:if来处理呢?没错用一个repeat去承载要显示的内容,这样就可以不在刷星这个小技巧get到了吗。

<repeat wx:if="{{callCart}}"><repeat wx:else>

计算价钱一样用到了腾讯地图api获取两点之间的距离,刚才把起始点都存放在globalData里,这样的好处是,可以随时得到里面的数据

 let {endLatitude,endLongitude} = app.globalData  //使用es6的语法去结构数据     qqmapsdk.calculateDistance({            mode: 'driving',            to:[ {              latitude: endLatitude,              longitude:endLongitude          }],          success: (res)=> {            var num1 = 8+1.9*(res.result.elements[0].distance/1000)            var play1 = num1.toFixed(1) //取一位小数点            app.globalData.play= play1 //同样存放在全局里,后面订单结束支付要用上            this.setData({                play1:play1,            })          },

关于“类似滴滴打车小程序系统开发的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 类似滴滴打车小程序系统开发的方法

本文链接: https://lsjlt.com/news/308204.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 类似滴滴打车小程序系统开发的方法
    这篇文章主要介绍“类似滴滴打车小程序系统开发的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“类似滴滴打车小程序系统开发的方法”文章能帮助大家解决问题。功能一:滴滴首页功能描述:顶部导航的制作,点...
    99+
    2023-06-26
  • 类似滴滴打车小程序开发的基础功能有哪些
    这篇文章给大家分享的是有关类似滴滴打车小程序开发的基础功能有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。类似于滴滴打车小程序开发的功能:在线打车:用户可以在线定位自己的位置,输入要去的目的地,选择立即打车,...
    99+
    2023-06-27
  • 打车系统网约车系统开发支持APP公众号H5小程序版本源码
    一、操作流程 二、业务模式 三、用户端 用户注册登录:未注册的手机号将自动创建账号 通过好友的邀请链接进行注册,将会绑定上下级关系 也可以注册的时候输入好友的邀请码,也可以绑定关系...
    99+
    2023-09-26
    打车系统 打车软件 网约车平台 网约车系统 打车系统开发
  • 微信小程序打包插件开发的方法
    今天小编给大家分享一下微信小程序打包插件开发的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如果你看过文档,相信你一定知...
    99+
    2023-06-26
  • npm小程序开发的方法
    今天小编给大家分享一下npm小程序开发的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  npm 支持  从小程序基础库...
    99+
    2023-06-26
  • Windows8系统自带录音机程序的几种打开方法小结
      方法一:在正常桌面中,按键盘的 F3 按键,键入“录音机”并回车搜索,然后点击选择“录音机”。   方法二:使用组合热键“Win+R”调出运行...
    99+
    2023-06-06
    Windows8 录音机 自带 程序 方法 系统
  • 快消品商城系统与商城小程序开发的方法
    这篇文章主要讲解了“快消品商城系统与商城小程序开发的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“快消品商城系统与商城小程序开发的方法”吧!传统快速移动消费品在运营模式中存在许多亟待改变...
    99+
    2023-06-27
  • 微信小程序的开发方法
    本篇内容主要讲解“微信小程序的开发方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序的开发方法”吧!1、准备工作用没有注册过微信公众平台的邮箱注册一个微信公众号, 申请帐号 , 根据指...
    99+
    2023-06-29
  • 外卖小程序系统开发的流程是什么
    本篇内容主要讲解“外卖小程序系统开发的流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“外卖小程序系统开发的流程是什么”吧!  外卖小程序开发步骤:  安装说明  1、导入db文件夹中的数...
    99+
    2023-06-26
  • PHP开发买菜系统的购物车功能实现方法
    随着网络购物的不断发展,购物车成了一个不可或缺的功能,买菜系统也不例外,购物车在其中也显得极其重要和实用。本文将介绍如何利用PHP开发买菜系统的购物车功能实现方法。一. 购物车数据的存储方法购物车的本质是一个容器,需要在其中存储商品的信息,...
    99+
    2023-11-01
    实现方法 PHP开发 购物车功能
  • Win8系统中设置图片默认打开程序的方法
    对此我们有两套方法,先来看简单的一种。找到我们想要打开的图片文件,右击文件选择“属性”。在属性中我们可以看到“打开方式”的选项。这时候点击后面的“...
    99+
    2022-06-04
    程序 方法 系统
  • 小程序优惠券源码开发的方法
    这篇“小程序优惠券源码开发的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“小程序优惠券源码开发的方法”文章吧。    如...
    99+
    2023-06-26
  • 打开win10系统程序时老是闪退解决方法
    解决方法:1、首先使用快捷键Win+R,打开【运行】界面,然后在输入框中输入“services.msc”,打开【服务】界面。2、【服务】界面如图所示,然后双击打开【Windows许可证管理器服务】选项,然后双击打开其属性界面。3、将选项卡调...
    99+
    2023-06-05
  • android多屏触摸相关的详解方案-安卓framework开发手机车载车机系统开发课程
    背景 直播免费视频课程地址:https://www.bilibili.com/video/BV1hN4y1R7t2/ 在做双屏相关需求开发过程中,经常会有对两个屏幕都要求可以正确触摸的场景。但是目前我们模拟器默认创建的双屏其实是没有办法进行...
    99+
    2023-08-30
    android 安卓framework开发 车载系统 多窗口 android系统 多屏 触摸
  • 提高微信小程序开发效率的方法
    小编给大家分享一下提高微信小程序开发效率的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序小结  在接触的微信小程序开发过程中,不难发现微信小程序为了...
    99+
    2023-06-14
  • Win8打开系统自带画图程序的几种方法(超简单)
      1、Metro 界面按键盘的“F3”热键,并键入“画图”回车搜索,然后点击选择“画图&rdqu   2、使用组合热键“Win+R”...
    99+
    2023-06-06
    Win8 画图程序 自带 程序 系统 画图
  • Unix 系统下的 Go 开发技术应用程序打包方式及技巧
    Go 是一种开源的编程语言,它的出现旨在提高程序员的生产力。与其他语言相比,Go 具有更好的并发性能、更高的代码可读性和更少的依赖性。在 Unix 系统中,Go 也是一种非常流行的开发语言。本文将介绍 。 一、Go 应用程序打包方式 静...
    99+
    2023-07-23
    开发技术 打包 unix
  • 微信小程序中打开内置浏览器的方法
    微信小程序中打开内置浏览器的方法 因为微信小程序本身是不推荐引流到外部的,所以正规的方法其实都是被禁止掉的。 1.wx.openUrl可直接打开内置浏览器页面 (2021年时可以使用,现在已...
    99+
    2023-09-06
    微信小程序 小程序
  • Windows8系统打开应用程序无响应问题解决方法
    看到有同学反应说Win8安装之后,运行某个程序,鼠标指针小圆圈转个两圈就没有反应了,应用程序也没有打开。此问题同样也出现在打开一些程序安装包上,往往只能通过重启或者注销才能解决。 这些应用程序绝对没有问题,...
    99+
    2022-06-04
    解决方法 应用程序 系统
  • Win8系统打开excel提示“向程序发送命令时出现问题”的解决方法
      Win8系统打开excel提示“向程序发送命令时出现问题”,如下图所示:   Win8系统打开excel提示“向程序发送命令时出现问题”的解决方法: ...
    99+
    2022-06-04
    解决方法 命令 提示
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作