我正在尝试在Google地图上显示实时位置。我正在使用socket.io。 我每五秒钟定期将json响应发送到我的map.js文件,以更新实时跟踪。
index.php
<script src="static/js/map.js<?php echo "?id=".$_GET["id"];?>"></script>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
app.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var https = require('https');
var request = require('request');
app.get('/', function(req, res) {
res.sendfile('js\\map.js');
});
//Whenever someone connects this gets executed
setInterval(function() {
urlString = "http://example.com?trip_id=76";
request(urlString, function(err, response, data) {
if (err) {
console.log("error on request", err);
} else {
console.log('data');
// send to all connected clients
io.emit('message', data);
}
});
}, 5000);
io.on('connection', function(socket) {
console.log('A user connected');
socket.on('disconnect', function () {
console.log('A user disconnected');
});
});
http.listen(3000, function() {
console.log('listening on *:3000');
});
map.js
var socket = io('http://localhost:3000');
socket.on('message', function(data){
obj = JSON.parse(data);
var liveCenter = new google.maps.LatLng(obj.lat,obj.lng);
在地图上的位置更新和正常工作。但显示错误
GET http://localhost/socket.io/?EIO=3&transport=polling&t=MJBroGa 404 (Not Found)
我做错了什么?我是socket.io的新手,可以帮助我解决此问题。或建议我其他解决方法。 谢谢