求车辆实时监控优化

玄冰2013 2013-01-15 10:11:57
最近在做某个公司车辆监控的页面,由搜索框和地图组成。
终端发送的位置信息将由分发工具发送到服务器的消息队列中,
页面不停(间隔5秒)的发送请求去获取最新的位置信息,然后更新到网页中。
总感觉请求太过频繁。。性能不是很好,不知道从何优化?希望做过的大大们,不吝赐教!
...全文
260 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
meng6ying18 2013-05-11
  • 打赏
  • 举报
回复
我的代码是: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>标注沿折线运动</title> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script> </head> <body> <div style="width:1320px;height:640px;border:1px solid gray" id="container"></div> <input type='button' value='开始' onclick='run();' /> </body> </html> <script type="text/javascript" src="K_PointMover.js"></script> <script type="text/javascript"> var map = new BMap.Map("container"); map.centerAndZoom(new BMap.Point(117.0993525,39.1213875), 15); var myP1 = new BMap.Point(117.0993525,39.1213875); //起点 var myP2 = new BMap.Point(117.10295433333,39.122917); //终点 var myIconmove = new BMap.Icon("http://dev.baidu.com/wiki/static/map/API/examples/images/Mario.png", new BMap.Size(32, 70), { //offset: new BMap.Size(0, -5), //相当于CSS精灵 imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了是图片底部中心对准坐标点。 }); //var driving2 = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: false}}); //驾车实例 //driving2.search(myP1, myP2); //显示一条公交线路 var point = new BMap.Point(117.0993525,39.1213875); var myIcon = new BMap.Icon("http://api.map.baidu.com/img/dest_markers.png",new BMap.Size(28, 32), { offset: new BMap.Size(10, 25), imageOffset: new BMap.Size(0, 0) }); var myIcon2 = new BMap.Icon("http://api.map.baidu.com/img/dest_markers.png",new BMap.Size(28, 32), { offset: new BMap.Size(-150, -205), imageOffset: new BMap.Size(0, -34) }); var point2 = new BMap.Point(117.10295433333,39.122917); var marker = new BMap.Marker(point, {icon: myIcon}); // 创建标注 var marker2 = new BMap.Marker(point2, {icon: myIcon2}); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中 map.addOverlay(marker2); marker.setAnimation(BMAP_ANIMATION_DROP ); //跳动的动画 marker2.setAnimation(BMAP_ANIMATION_DROP ); //跳动的动画 var polyline = new BMap.Polyline([ new BMap.Point(117.0993525,39.1213875), new BMap.Point(117.09937566667,39.1215155), new BMap.Point(117.09997266667,39.121755666667), new BMap.Point(117.10059883333,39.1219955), new BMap.Point(117.10134866667,39.122307), new BMap.Point(117.10244883333,39.12273), new BMap.Point(117.10295433333,39.122917) ],{strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5}); map.addOverlay(polyline); window.run = function (){ var driving = new BMap.DrivingRoute(map); //驾车实例 driving.search(myP1, myP2); driving.setSearchCompleteCallback(function(){ var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); //通过驾车实例,获得一系列点的数组 pts = [ //创建7个点 new BMap.Point(117.0993525,39.1213875), new BMap.Point(117.09937566667,39.1215155), new BMap.Point(117.09997266667,39.121755666667), new BMap.Point(117.10059883333,39.1219955), new BMap.Point(117.10134866667,39.122307), new BMap.Point(117.10244883333,39.12273), new BMap.Point(117.10295433333,39.122917) ]; var paths = pts.length; //获得有几个点 //alert(pts.toString()); var carMk = new BMap.Marker(pts[0],{icon:myIconmove}); map.addOverlay(carMk); i=0; function resetMkPoint(i){ carMk.setPosition(pts[i]); if(i < paths){ setTimeout(function(){ i++; resetMkPoint(i); },500); }else{map.removeOverlay(carMk);} } setTimeout(function(){ resetMkPoint(0); },800) }); } </script>
meng6ying18 2013-05-11
  • 打赏
  • 举报
回复
我现在正在研究百度地图,有个问题想请教,车辆运动轨迹,我用的GPS坐标画线,画出来与实际坐标偏差很大,但是用百度里的API批量转换又不知道怎么画,请赐教
Mr_Nice 2013-01-15
  • 打赏
  • 举报
回复
引用 2 楼 jimyboy 的回复:
引用 1 楼 OrchidCat 的回复:前台刷新技术,参考ajax用的就是这个
那应该不会感觉有很慢的。 不过5秒一次,扫描频率是比较高。交管局的交通信息还要2分钟。 实在不行,就推送吧。socket 看看。 不太熟asp.net ,LZ不妨到asp.net板块看看
Q315054403 2013-01-15
  • 打赏
  • 举报
回复
这个重点在DB与APP设计上,而不是简单地完成任务的CODE上。。若是有偿,乐意提供支持
玄冰2013 2013-01-15
  • 打赏
  • 举报
回复
引用 1 楼 OrchidCat 的回复:
前台刷新技术,参考ajax
用的就是这个
Mr_Nice 2013-01-15
  • 打赏
  • 举报
回复
前台刷新技术,参考ajax

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧