闪光钢尾跳跳虎 2019-05-06 09:57 采纳率: 0%
浏览 351

高德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。。一脸懵逼
  • 写回答

1条回答

  • long、涯 2023-08-11 21:21
    关注

    检查下polyline的path格式是否正确

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题