在微信小程序实现轨迹回放的效果
1、wxml
<map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="16" bindcontroltap="controltap" bindmarkertap="markertap" markers="{{markers}}" polyline="{{polyline}}" bindregionchange="regionchange" show-location style="width: 100%; height:{{height}}px;" ></map> <view class="padding flex flex-wrap justify-between align-center bg-white"> <button class='cu-btn bg-green shadow sm' bindtap='beginTrack'> 开始 </button> <button class='cu-btn bg-orange shadow sm' bindtap='pauseTrack'> 暂停 </button> <button class='cu-btn bg-red shadow sm' bindtap='endTrack'> 结束 </button> </view>
2、js
//index.js //获取应用实例 const app = getApp() Page({ data: { StatusBar: app.globalData.StatusBar, CustomBar: app.globalData.CustomBar, height: wx.getSystemInfoSync().windowHeight, latitude: 0, longitude: 0, playIndex: 0, timer: null, markers: [], polyline: [], pointsInfo:[] }, regionchange(e) { //console.log(e.type) }, markertap(e) { //console.log(e.markerId) }, controltap(e) { //console.log(e.controlId) }, beginTrack:function(e){ }, onLoad: function (options){ var that = this; wx.request({ url: 'http://**/getTrack', data: { beginTime:"开始时间", endTime:"结束时间" }, method: "post", success: function (res) { that.setData({ pointsInfo:res.data.pointsInfos, polyline: [{ points: res.data.points, color: "#FF0000DD", width: 4, dottedLine: true }], markers: [{ iconPath: '../../img/location.jpg', id: 0, latitude: res.data.points[0].latitude, longitude: res.data.points[0].longitude, width: 30, height: 30, title: that.data.brandNumber, callout: { content: that.data.brandNumber + ' \n 时间:' + res.data.pointsInfos[0].create_time + ' \n 速度:' + res.data.pointsInfos[0].speed + ' km/h', color: "#000000", fontSize: 13, borderRadius: 2, bgColor: "#fff", display: "ALWAYS", boxShadow: "5px 5px 10px #aaa" } }], latitude: res.data.points[0].latitude, longitude: res.data.points[0].longitude, }) } }) }, /** * 开始 */ beginTrack:function(){ var that = this; var i = that.data.playIndex == 0 ? 0 : that.data.playIndex; that.timer = setInterval(function () { i ++ that.setData({ playIndex: i, latitude: that.data.polyline[0].points[i].latitude, longitude: that.data.polyline[0].points[i].longitude, markers: [{ iconPath: '../../img/car/e0.png', id: 0, latitude: that.data.polyline[0].points[i].latitude, longitude: that.data.polyline[0].points[i].longitude, width: 30, height: 30, title: that.data.brandNumber, callout: { content: that.data.brandNumber + ' \n 时间:' + that.data.pointsInfo[i].create_time + ' \n 速度:' + that.data.pointsInfo[i].speed + ' km/h', color: "#000000", fontSize: 13, borderRadius: 2, bgColor: "#fff", display: "ALWAYS", boxShadow: "5px 5px 10px #aaa" } }] }) if ((i+1) >= that.data.polyline[0].points.length) { that.endTrack(); } }, 500) }, /** * 暂停 */ pauseTrack:function(){ var that = this; clearInterval(this.timer) }, /** * 结束 */ endTrack:function(){ var that = this; that.setData({ playIndex: 0, latitude: that.data.polyline[0].points[0].latitude, longitude: that.data.polyline[0].points[0].longitude, markers: [{ iconPath: '../../img/car/e0.png', id: 0, latitude: that.data.polyline[0].points[0].latitude, longitude: that.data.polyline[0].points[0].longitude, width: 30, height: 30, title: that.data.brandNumber, callout: { content: that.data.brandNumber + ' \n 时间:' + that.data.pointsInfo[0].create_time + ' \n 速度:' + that.data.pointsInfo[0].speed + ' km/h', color: "#000000", fontSize: 13, borderRadius: 2, bgColor: "#fff", display: "ALWAYS", boxShadow: "5px 5px 10px #aaa" } }] }) clearInterval(this.timer) } })
后台数据使用的是百度鹰眼的数据。最终效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍canvas轨迹回放功能实现,包括了canvas轨迹回放功能实现的使用技巧和注意事项,需要的朋友参考一下 本文通过json机构,HTML代码以及JS代码详细给大家分析了canvas轨迹回放功能实现的过程,以下是全部内容。 json结构 html 将json作为js文件引入,并将其赋值给全局变量testPath(引入方式按照实际项目要求来) js 以上就是本次文章的全部内容,如果大家在
操作步骤: ①在"定位监控"模块,开启"实时监控"开关。 ②点击"轨迹回放"。 ③选择日期,点击协作人员,可查看协作成员的历史轨迹。 操作动图: [查看原图]
本文向大家介绍Openlayers3实现车辆轨迹回放功能,包括了Openlayers3实现车辆轨迹回放功能的使用技巧和注意事项,需要的朋友参考一下 记录基于geoserver地图服务,Openlayers3在web前端实现车辆轨迹回放功能,并记录和解决过程中出现的linestring只描绘部分经纬度坐标问题。 参考Openlayers3 官网例子 html map初始化 ajax获取坐标数据 显示
本文向大家介绍微信小程序 仿猫眼实现实例代码,包括了微信小程序 仿猫眼实现实例代码的使用技巧和注意事项,需要的朋友参考一下 微信小程序仿猫眼 实现效果图: movie.js movie.json movie.wxml movie.wxss 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍java实现微信小程序登录态维护的示例代码,包括了java实现微信小程序登录态维护的示例代码的使用技巧和注意事项,需要的朋友参考一下 相信不少喜欢开发的朋友都已经知道微信小程序是个什么物种了,楼主也是从小程序内测期间就开始关注,并且也写过几个已经上线的微信小程序。但是基本上都是写的纯前端,最近楼主从后端到前端写一个完整的小程序项目,中间碰到了一些问题,楼主会找一些个人觉得有学习价值的
本文向大家介绍微信小程序实现禁止分享代码实例,包括了微信小程序实现禁止分享代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了微信小程序实现禁止分享代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 微信禁止分享 添加以下代码到网页中即可 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。