ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

openlayers学习三--画点性能

2022-01-16 12:04:11  阅读:142  来源: 互联网

标签:function pp console log -- 画点 openlayers var toString


学习二中画点可能存在丢点的情况,稍微改进了一下,node.js接受数据时把数存起来,发送时一起发,html也一样

const dgram = require('dgram');
let server = dgram.createSocket('udp4');
server.bind(6000);

var pp = [];
server.on('message',function(msg,rinfo){
    const t = msg.slice(0,4);
    const b = msg.slice(4,8);
    const l = msg.slice(8,12);

    const p = new Array(4);
    p[0] = 32;
    p[0] = p[0].toString();
    p[1] = t.readFloatLE(0).toString();
    p[2] = b.readFloatLE(0).toString();
    p[3] = l.readFloatLE(0).toString();
    pp.push(p);
    //console.log(pp.toString());
})

var time = 1;
var ws = require('nodejs-websocket');
var wss = ws.createServer(conn =>{
    console.log("正在连接");
    conn.on('text',function(data){
        //console.log("收到:"+data);
        while(pp.length>0){
          console.log(pp[0].toString());
          conn.send(pp[0].toString());
          pp.shift();
          
        }
        time+=1;
    })
    conn.on('close',function(){
        conn.log('closed');
    })
    conn.on('error',function(){
        conn.log('error');
    })
})

wss.listen(3000,function(){
    console.log('正在监听3000端口');
})
    ws.onmessage = function(e){
      var pp = (e.data).split(",");
      var head = parseInt(pp[0]);
      if(head==32){
        var time = parseInt(pp[1]);
        tobeDraw.push([time,lon+0.3*time,lat+0.3*time]);
        lon -=0.01;
        console.log(time);
      }
      else{
        console.log(pp);
      }
    };
    var drawPoint = function(){while(tobeDraw.length>0){
        var coord = ol.proj.transform([tobeDraw[0][1],tobeDraw[0][2]],'EPSG:4326', 'EPSG:3857');
        var feature = new ol.Feature({
          geometry: new ol.geom.Point(coord)
        });       
        vectorLayer.getSource().addFeature(feature);
        drawedpoints.push(tobeDraw[0][0]);
      }
    }

    var interID = window.setInterval(drawPoint,1000);

用定时器渲染,1hz时,cpu毫无压力,一屏幕点了

 

标签:function,pp,console,log,--,画点,openlayers,var,toString
来源: https://www.cnblogs.com/fkess/p/15809051.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有