高德web端地图在我本地展示都是正常的,但是java后端把数据放进去后,会在走到setMap时报错,求大神
  1. ```
<script src="https://webapi.amap.com/maps?v=1.4.14&key=11adc7daa973d460656e8e367011a1fd&plugin=AMap.PolyEditor"></script>
<script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
<script type="text/javascript">
window.onload=function(){
    // 第一部分
    var map_z=document.getElementById("map-zbz");
    console.log(map_z)
    var map_z0=map_z.innerHTML;
    console.log("这个是获取的内容map_z0:"+map_z0+"这个是获取的内容类型"+typeof(map_z0))
    var map_z2=map_z0.replace(/"longitude":/g,"")
    var map_z3=map_z2.replace(/"latitude":/g,"")
    var map_z4=map_z3.replace(/"/g,"")
    var map_z4=map_z3.replace(/ /g,"")
    console.log("这个是获取的内容map_z4:"+map_z4+"这个是获取的内容类型"+typeof(map_z4))
    var map_z5=map_z4.substr(2,map_z4.length-4);
    console.log("这个是获取的内容map_z5:"+map_z5+"这个是获取的内容类型"+typeof(map_z5))
    var map_z6=map_z5.replace(/{/g,"[");
    var map_z7=map_z6.replace(/}/g,"]");
    console.log("这个是获取的内容map_z5:"+map_z7+"这个是获取的内容类型"+typeof(map_z7))
    var arr=new Array();
        arr=eval( '['+  map_z7+ ']' );
    console.log("这个是获取的内容map_z5:"+arr+"这个是获取的内容类型"+typeof(arr))

    // 第二部分
    var map_zs=document.getElementById("map-zbz2");
    console.log(map_zs)
    var map_zs0=map_zs.innerHTML;
    console.log("这个是获取的内容map_z0:"+map_zs0+"这个是获取的内容类型"+typeof(map_zs0))
    var map_zs2=map_zs0.replace(/"longitude":/g,"")
    var map_zs3=map_zs2.replace(/"latitude":/g,"")
    var map_zs4=map_zs3.replace(/"/g,"")
    var map_zs4=map_zs3.replace(/ /g,"")
    console.log("这个是获取的内容map_z4:"+map_zs4+"这个是获取的内容类型"+typeof(map_zs4))
    var map_zs5=map_zs4.substr(2,map_zs4.length-4);
    console.log("这个是获取的内容map_z5:"+map_zs5+"这个是获取的内容类型"+typeof(map_zs5))
    var map_zs6=map_zs5.replace(/{/g,"[");
    var map_zs7=map_zs6.replace(/}/g,"]");
    console.log("这个是获取的内容map_z5:"+map_zs7+"这个是获取的内容类型"+typeof(map_zs7))
    var arr1=new Array()
        arr1=eval( '['+  map_zs7+ ']' );
    console.log("这个是获取的内容map_z5:"+arr1+"这个是获取的内容类型"+typeof(arr))


    var map = new AMap.Map("container", {
        center: [116.395577, 39.892257],
        zoom: 14
    });

    // 将转化好的数组存在path内
    var path = arr;
    var path1 = arr1;
    // 打印出path的内容与数据类型测试是否会出错
    console.log("这里是path展示出来的坐标轴数组"+path+"这里是tapyof属性:"+typeof(path))
    // 通过获取的路径坐标轴,绘制路线
    var polyline = new AMap.Polyline({
        path: path,
        isOutline: true,//是否描边
        outlineColor: '#ECF0F1',//描边颜色
        borderWeight: 3,//描边粗度
        strokeColor: "#3498DB", //主体路线颜色
        strokeOpacity: 1,//主体透明度
        strokeWeight: 5,//主体粗度
        // 折线样式还支持 'dashed'
        strokeStyle: "solid",//主体样式
        // strokeStyle是dashed时有效
        strokeDasharray: [10, 5],//转折点柔化
        lineJoin: 'round',//转折点柔化样式
        lineCap: 'round',//转折点柔化样式
        zIndex: 50,
    })
    var polyline1 = new AMap.Polyline({
        path: path1,
        isOutline: true,
        outlineColor: '#ECF0F1',
        borderWeight: 3,
        strokeColor: "#E74C3C", 
        strokeOpacity: 1,
        strokeWeight: 6,
        // 折线样式还支持 'dashed'
        strokeStyle: "solid",
        // strokeStyle是dashed时有效
        strokeDasharray: [10, 5],
        lineJoin: 'round',
        lineCap: 'round',
        zIndex: 50,
    })
    // 绘制出来的路线放到map里
         polyline.setMap(map)
         polyline1.setMap(map)
    // 缩放地图到合适的视野级别
    map.setFitView([ polyline ]) 
    map.setFitView([ polyline1 ]) 
    }
    </script>
</html>

目前是把需要的路径放到body的标签里,然后后端把对应的数据放到标签里,我再从标签内获得,然后展示到web端的地图上,可是我这边获取都是正常的,但是走到了setMap时候报错TypeError: Cannot read property 'push' of undefine。。一脸懵逼
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问