vue人员轨迹_百度地图实时动态轨迹

本文介绍了如何使用Vue结合百度地图实现人员实时动态轨迹展示。后端利用Node.js的socket.io接收并推送轨迹点,前端通过vue-socket.io库连接socket服务器,监听并响应坐标更新,动态更新地图上的轨迹。
摘要由CSDN通过智能技术生成

百度地图实时动态轨迹

后端直接使用node版的socket.io推送轨迹点

const server = require('http').createServer()

const socketIo = require('socket.io')(server)

const CreatePoint = require('./CreatePoint.js')

// 所有已连接的客户端

socketIo.on('connection', (client) => {

// console.log(client)

// 断开时删除

client.on('disconnect', () => {

// 。。。

})

// 当客户端触发setPoint事件之后,socket就向客户端推送新的坐标

client.on('setPoint', (point) => {

console.log(point)

// 1. 创建一个创造坐标的实例

let CreateCustomPoint = new CreatePoint(point)

// 每隔3秒向客户端推送一次坐标

setInterval(() => {

client.emit('newPoint', CreateCustomPoint.randomAction())

}, 3000)

})

})

server.listen(3000, '192.168.1.202', () => {

console.log('this server is listening on port 3000')

})

前端就一个发送事件和监听事件

先需要连接到socket

import VueSocketIo from 'vue-socket.io'

Vue.use(new VueSocketIo({

debug: true,

// 这里的地址就是后端地址

connection: '192.168.1.202:3000',

vuex: {

store,

actionPrefix: 'SOCKET_',

mutationPrefix: 'SOCKET_'

}

// options: { path: "/my-app/" }

}))

sockets: {

// socket服务器连接时触发

connect: () => {

console.log('已成功连接到socket服务器')

},

// 接收socket服务器推送的newPoint事件

newPoint(point) {

console.log(`接收到socket服务器的新坐标${point}`)

// console.log(this)

this.points.push(point)

// 关闭原来的标志物

this.mkrTool.close()

this.map.clearOverlays()

// this.map.centerAndZoom(point, 15)

// 在新坐标添加覆盖物

this.freshOverlay(point)

}

},

效果

地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值