Javascript 使用板条值数组的多段线

Javascript 使用板条值数组的多段线,javascript,google-maps,Javascript,Google Maps,我对JavaScript比较陌生,我试图使用GoogleMapsAPI V3进行实时跟踪,并使用Latlong坐标数组在地图上绘制多段线,下面是我使用的代码: var caseinfo = new Array(); caseinfo.push("V 28.5549 77.1919"); caseinfo.push("H1 28.561012 77.161527 28.561024 77.162429 28.561024 77.164129"); caseinfo.push("H2 28.5510

我对JavaScript比较陌生,我试图使用GoogleMapsAPI V3进行实时跟踪,并使用Latlong坐标数组在地图上绘制多段线,下面是我使用的代码:

var caseinfo = new Array();
caseinfo.push("V 28.5549 77.1919");
caseinfo.push("H1 28.561012 77.161527 28.561024 77.162429 28.561024 77.164129");
caseinfo.push("H2 28.551024 77.163129 28.365241 77.025134 28.3662158 77.025134");
var i, j, k;
var splitinfo = [];
for(i = 0 ; i < caseinfo.length ; i++) {
       splitinfo[i] = caseinfo[i].split(" ");
       alert(splitinfo[i]);
}
var polyline =new Array();
for(i = 0 ; i < splitinfo.length() ; i++) {
    polyline.push([]);
    for(j = 1 ; j < splitinfo[i].length ; j = j + 2) {
         polyline[i].push(new google.map.LatLng(polyline[i][j], polyline[i][j + 1]));
    }
}
alert(polyline); 
var caseinfo=new Array();
caseinfo.push(“V 28.5549 77.1919”);
caseinfo.push(“H1 28.561012 77.161527 28.561024 77.162429 28.561024 77.164129”);
caseinfo.push(“H2 28.551024 77.163129 28.365241 77.025134 28.3662158 77.025134”);
变量i,j,k;
var splitinfo=[];
对于(i=0;i
我希望多段线看起来像这样:[(28.5549,77.1919)],[(28.561012,77.161527),(28.561024,77.162429),(28.560124,77.164129)],[(28.551024,77.163129),(28.365241,77.025134),](28.3662158,77.025134)]这样我就可以通过将路径设置为
多段线[I]
来绘制三条多段线


有人能帮帮我吗

对于初学者,不应该使用“length()”。length是一个属性,而不是一个函数。你在其他地方正确地使用它

“google.map.LatLng”也应该是“google.maps.LatLng”

尝试运行此操作时,在浏览器中查看控制台将帮助您发现此类错误

  • 数组有.length属性,MVCArrays有.length()方法,请使用适当的方法
  • 此处的多段线中没有任何内容:

    polyline[i].push(新的google.map.LatLng(polyline[i][j],polyline[i][j+1])

  • 你希望它是“splitinfo”

    更新代码:

    var caseinfo = new Array();
    caseinfo.push("V 28.5549 77.1919");
    caseinfo.push("H1 28.561012 77.161527 28.561024 77.162429 28.561024 77.164129");
    caseinfo.push("H2 28.551024 77.163129 28.365241 77.025134 28.3662158 77.025134");
    var i, j, k;
    var splitinfo = [];
    for (i = 0; i < caseinfo.length; i++) {
        splitinfo[i] = caseinfo[i].split(" ");
        // alert(splitinfo[i]);
    }
    var polyline = new Array();
    for (i = 0; i < splitinfo.length; i++) {
        polyline.push([]);
        for (j = 1; j < splitinfo[i].length; j = j + 2) {
            polyline[i].push(new google.maps.LatLng(splitinfo[i][j], splitinfo[i][j + 1]));
        }
        var path = new google.maps.Polyline({
            path: polyline[i],
            strokeColor: "#FF0000",
            strokeOpacity: 1.0,
            strokeWeight: 2
        });
        path.setMap(map);
    }
    
    var caseinfo=new Array();
    caseinfo.push(“V 28.5549 77.1919”);
    caseinfo.push(“H1 28.561012 77.161527 28.561024 77.162429 28.561024 77.164129”);
    caseinfo.push(“H2 28.551024 77.163129 28.365241 77.025134 28.3662158 77.025134”);
    变量i,j,k;
    var splitinfo=[];
    对于(i=0;i
    @KadeKeith您可能想看一看(基本上,我们知道您还不能发表评论,但这并不意味着可以自动将其作为答案发布)@DennisMeng正在识别代码中的错误,而不是问题的适当答案?“有人能帮帮我吗!?”这似乎属于这里的回答准则:。特别是“任何能让提问者朝正确方向前进的答案都是有帮助的”我在回答“考虑到我没有足够的声誉发表评论,我没有其他选择”。如果没有长度函数,那么我还能使用什么呢?谢谢@kadekeith,我下次会尝试使用正确的函数。谢谢@geocodezip,它工作得很好。另外,你可以推荐一些参考链接,我可以从那里学习Javascript和GoogleMapAPI。再次感谢:)