计算起点地址和终点地址的最短驾车距离和驾车时间
微信小程序开发交流qq群 173683895
承接微信小程序开发。扫码加微信。
需求:
在一个excel的xlsx表格中有很多起点的地址和终点的地址,要批量计算两个地址之间的距离和驾车时间,按照百度地图的最短距离计算。最后把得出的行驶距离和驾车时间填充至xlsx表格中的相应地址
实现思路:
1.把excel表格中的数据导入数据库
2.通过接口请求数据库,得到所有的起始地址信息并且保存到前端
3.把所有的中午地址转换成经纬度并且存入数据库(因为中午地址是无法直接计算出行驶距离和驾车时间的)
4.请求数据库中的起始点经纬度,计算出行驶距离和驾车时间再保存到数据库
5.数据库导出到excel的xlsx表格,完成
生产场景:
微信小程序开发者工具 + phpstudy + mysql + 百度地图开放平台 - JavaScript API (两个接口,逆/地址解析 和 路线规划)
先建数据库, 结构图如下:产数分别是起点地址,终点地址,距离,时间
小程序前端源码:
var util = require('../../utils/util.js');
// pages/index/index.js
var aa_data, i = 1271,y = 0;
Page({/*** 页面的初始数据*/data: {},// 保存到数据库ddddddd(distance, duration) {var that = this;var data = {duration: duration,distance: distance,sss: this.data.data[i].sss,eee: this.data.data[i].eee,}wx.request({url: 'http://localhost/excel/save.php',data: data,success: function(res) {}})},// 计算起点坐标和终点坐标的最短驾车距离和驾车时间cccccccc(e) {var that = this;var aaa = e.sss.split(',')console.log(aaa)var a_ssss = aaa[1].substring(0, 10) + ',' + aaa[0].substring(0, 10)if (e.eee=='-'){setTimeout(function () {i = i + 1;console.log(i)// that.cccccccc(aa_data[i])}, 300)return}var bbb = e.eee.split(',')console.log(a_ssss)var a_eeee = bbb[1].substring(0, 10) + ',' + bbb[0].substring(0, 10)wx.request({url: 'http://api.map.baidu.com/direction/v2/driving?origin=' + a_ssss + '&destination=' + a_eeee + '&ak=MGIf4Hhwkx9GWrjDh2cVGKk1hQr5tcb8',data: {},success: function(res) {var distance = res.data.result.routes[0].distancevar duration = res.data.result.routes[0].durationconsole.log('最佳路线:', distance + '米', parseInt(duration / 60) + '分钟')that.ddddddd(distance, parseInt(duration / 60))setTimeout(function () {i = i + 1;console.log(i)that.cccccccc(aa_data[i])}, 300)}})},/*** 生命周期函数--监听页面加载*/onLoad: function(options) {var that = this;wx.request({url: 'http://localhost/excel/show.php',data: {location},success: function(res) {console.log(res.data)aa_data = res.datathat.cccccccc(aa_data[i])// that.bbbbbb(aa_data[i].sss)that.setData({data: res.data})}})},// 地址转换成经纬度bbbbbb(add) {var that = this;var url = 'http://api.map.baidu.com/geocoder/v2/';var data = {address: add.length > 35 ? add.substring(0, 35) : add,output: 'json',ak: 'LGPktyrfCarUmfPwDDrL1nG6mlhlkLwA'}util.request(url, 'post', data, '', function(res) {var location = res.data.result.location;console.log(location);wx.request({url: 'http://localhost/excel/sss.php',data: {sss: location.lng + ',' + location.lat,add},success: function(res) {console.log(res.data);console.log(i)i = i + 1;if (i < aa_data.length) {setTimeout(function() {if (aa_data[i].sss == '-') {i = i + 1;that.bbbbbb(aa_data[i].sss)} else {that.bbbbbb(aa_data[i].sss)}}, 300)} else {}}})})},// excel导入数据库aaaaaaaa() {wx.request({url: 'http://localhost/excel/excel.php',data: {location},success: function(res) {console.log(res.data)}})},
})
<!--pages/index/index.wxml-->
<button bindtap='aaaaaaaa'>加载到数据库</button>
<button bindtap='cccccccc'>经纬度计算出时间,路程</button>
后端源码下载 https://download.csdn.net
计算起点地址和终点地址的最短驾车距离和驾车时间相关推荐
- JS计算起点坐标到终点坐标的驾车距离和驾车时间
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 正文: 先上计算距离的简单demo: <!DOCTYPE html> <html>&l ...
- 基于OpenStreetMap计算驾车距离(Java)
最近公司有个项目需要计算6000个点之间的驾车距离,第一时间想到的是利用Google的Distance Matrix API,但是免费Key每天只能计算2500个元素(元素 = 起点数量 * 终点数量 ...
- 彻底明白IP地址——计算相关地址
通过IP地址和子网掩码与运算计算相关地址 知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 ...
- 通过IP地址和子网掩码计算相关地址
通过IP地址和子网掩码与运算计算相关地址 知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·10 ...
- java计算ip地址
/** * 计算ip地址 **********/ public String getServerIp(HttpServletRequest request) {String ip = request. ...
- 植物大战僵尸:手工计算偏移地址
首先我们思考一个问题,为什么我们需要手工计算偏移地址,CE找不开心吗?当然不是,有些游戏比如像,只要查找改写的地址游戏就会崩溃,严重的话则会弹出警告框,但查找访问则不会出现这个情况,此时我们就需要进行 ...
- SDUT OJ 图练习-BFS-从起点到目标点的最短步数 (vector二维数组模拟邻接表+bfs , *【模板】 )...
图练习-BFS-从起点到目标点的最短步数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 在古老的魔兽传说中,有两个军团,一个叫天 ...
- 地球上的点【经纬度】到几个点形成的折现或者直线最短的距离和折现上点的坐标【经纬度】
地球上的点[经纬度]到几个点形成的折现或者直线最短的距离和折现上点的坐标[经纬度] 情景 步骤 做法:利用高德JSAPI提供的函数计算 过程 产物截图 代码截图 界面截图 点击执行会生成export. ...
- gps两点距离 php,PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法
<PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法>要点: 本文介绍了PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法,希望对您有用.如果有疑问,可以联系我们. 本文实 ...
最新文章
- 【BASIS系列】SAP Basis系统管理中重置用户缓冲哪些需要注意
- PHP机器学习库php-ml的简单测试和使用
- 一致性hash 简单实现
- 关于最小化的另辟蹊径
- 看苏宁易购的运营保障体系如何hold住818大促
- 科学与技术名词解释计算机病毒,名词解释计算机病毒
- hybrid App cordova打包webapp PhoneGap
- ASP.NET RouteModule相关的一些东西
- 短信猫软件的实现(C#)九7bitPDU的编码
- To B 创业的本质,是求增速与生存环境的平衡
- Apipost--软件测试
- 捷顺USB-RS485驱动
- Permutation 和 Combination
- 交换机 路由器 DNS服务器基础实验
- zstuoj 4246 萌新吃果果
- 支气管炎如何治疗,试试这些食疗方,马上见效!
- 了解更多全国各地浴室5×8装修图片
- 关于三子棋游戏的简易实现与N子棋胜利判断方法
- 百度云盘不限速下载工具(附带开源源码)
- ABCD四个人说真话的概率都是1/3。假如A声称B否认C说D是说谎了,那么D说过的那句话真话的概率是多少...