GWS-84坐标/google坐标批量转百度坐标

 $.getJSON('map/js/thgps.json',data=>{
        var ddaa = data;
        var dataa = ddaa.geometries[0].coordinates[0];
        var map = new BMapGL.Map("container");
            var point = new BMapGL.Point(114.19372379774158,23.007445935362906);
            map.centerAndZoom(point, 15);
            map.enableScrollWheelZoom(true);//开启鼠标滚动缩放
            map.addControl(new BMapGL.ScaleControl());//开启比例尺,默认左下角

            var convertor = new BMapGL.Convertor();              //定义
            var m_rep=0;//回调重复次数
            var m_repp=0;
            var pointArr_convert = [];
            var points = [];
            var ggPoint;
            for (let i = 0;i<dataa.length;i++){
                 ggPoint = new BMapGL.Point(dataa[i][0],dataa[i][1]);
                points.push(ggPoint);
            }
        var bd = [];
            translateCallback = function (data){            //回调函数
                if(data.status === 0) {

                    bd.push(data.points[0]);
                    m_rep++;//回调次数记录
                    if(m_rep<points.length)                             //判断全部转换是否完成
                    {
                        pointArr_convert.length = 0;               //pointArr_convert数组清零
                        pointArr_convert.push(points[m_rep]);                           //将要转换的GPS数据push到pointArr_convert数组
                        convertor.translate(pointArr_convert,3,5,translateCallback);                  //在回调函数中进行下一组转换的提交
                    }else {
                        // console.log(bd);//直接打印bd数组会出现打印丢失的问题
                        console.log(JSON.stringify(bd));//将bd数组转化为json数据格式,再打印就会完全了
                        var polygon = new BMapGL.Polygon(bd, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
                        map.addOverlay(polygon);
                        m_repp++;
                        if (m_repp<ddaa.geometries.length){
                            bd.length=0;
                            points.length=0;
                            pointArr_convert.length=0;
                            m_rep=0;
                            dataa = ddaa.geometries[m_repp].coordinates[0];
                            for ( i = 0;i<dataa.length;i++){
                                ggPoint = new BMapGL.Point(dataa[i][0],dataa[i][1]);
                                points.push(ggPoint);
                            }
                            pointArr_convert.push(points[0]);
                            convertor.translate(pointArr_convert,3,5,translateCallback);
                        }
                    }

                }
            };
            pointArr_convert.push(points[0]);
            convertor.translate(pointArr_convert,3,5,translateCallback);
    });

 

posted @ 2021-02-07 09:46  井韦  阅读(214)  评论(0编辑  收藏  举报