计算起点地址和终点地址的最短驾车距离和驾车时间

news/2024/11/8 20:55:03/

微信小程序开发交流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

 


http://www.ppmy.cn/news/206368.html

相关文章

linux下载navicat

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/happy_bigqiang/article/details/54234559 参考链接&#xff1a;http://blog.csdn.net/loadrunn/article/details/50886772 PS:linux一般文件源码放在 /usr/local/src文件夹&…

软件测试硬盘使用时间,硬盘使用时间检测工具_硬盘使用时间清零

2016-12-27 12:57:25 使用HD Tune查看硬盘使用时间,可按以下步骤进行:   1 运行HD Tune主程序   2 在硬盘列表中选择需要查看使用时间的硬盘   3 选择“健康状况”标签,09属... 2016-12-09 06:11:53 这个通电次数是按硬盘磁头重置的次数算的。即你开机的次数+重启的…

使用curl控制下载速度

1. 速度控制 1.1 php代码方式 function http_request($URI) {$ch curl_init();curl_setopt($ch, CURLOPT_URL, $URI);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//速度控制$speed 100000;curl_setopt($ch, CURLOPT_MAX_RECV_SPEED_LARGE, 100000);$result curl_exec($…

GPS模拟器中的传输时间计算

在卡尔加里大学的一篇论文《IF GPS Signal Simulator Development and Verification》&#xff08;GPS中频模拟器的开发与验证&#xff09;中3.2.5小节“Signal Propagation Time and Doppler”找到了有关卫星传输时间计算的讲述&#xff0c;于是将其翻译过来。 由于博客里不便…

安卓计算下载速度

昨天开始封装一个安卓多线程下载器&#xff0c;在写的过程中&#xff0c;猜测想加入检测下载过程中的速度&#xff0c;于是google一番&#xff0c;得出一个比较靠谱的答案&#xff0c;在此总结一下。 NANOSECONDS NANOSECONDS&#xff0c;毫微秒&#xff0c;十亿分之一秒&…

自定义计算器 android,自定义公式计算app下载

自定义公式计算器是非常强大的一款计算器软件&#xff0c;可以帮助大家计算各种函数&#xff0c;还能够自定义公式进行保存&#xff0c;便于以后的计算&#xff1b;软件包含了科学计算器的所有功能&#xff0c;而且没有广告&#xff0c;非常的方便和强大&#xff0c;喜欢的朋友…

iOS开发下载文件速度计算

当我们写下载界面的时候&#xff0c;需要向用户展示每秒下载多少KB&#xff0c;这个时候就需要计算速度。如下&#xff1a; 我用的是AFNetworking来做下载的&#xff0c;我们拿AFHTTPRequestOperation来举列&#xff0c;AFHTTPRequestOperation中有个方法&#xff1a; - (void)…

java 下载限速_Java 文件下载限流算法

在做文件下载功能时,为了避免下载功能将服务器的带宽打满,从而影响服务器的其他服务。我们可以设计一个限流器来限制下载的速率,从而限制下载服务所占用的带宽。 一、算法思路 定义一个数据块chunk(单位 bytes)以及允许的最大速率 maxRate(单位 KB/s)。通过maxRate我们可以算…