用php在Google地图上绘制两条不同的路径


draw two different paths on google map with php

嘿,这是我的谷歌地图代码

function temp(){
    var device_id=document.getElementById('hide').value;
    //alert(device_id);
    for(j=0;j<device_id;j++)
    {
        // alert(document.getElementById('hid'+j).value);
        $.ajax({
            type: 'post',
            url: '<?=base_url()?>index.php/admin/tracking/get_location/'+document.getElementById('hid'+j).value,
            // data: 'season_id='+season_id,
            dataType: "json",
            success: function(msg) {
                // directionsDisplay.setMap(null);
                deleteOverlays();
                $.each(msg,function(index,value){
                    var newLatlng = new google.maps.LatLng(value['lat'],value['long']);
                    map.panTo(newLatlng);
                    if(myPoints.length>0)
                    {
                        var oldLatlng=myPoints[myPoints.length-1];
                        var myCoordinates = [
                            oldLatlng,
                            newLatlng
                        ];
                        var myPath = new google.maps.Polyline({
                            path: myCoordinates,
                            strokeColor: "#FF0000",
                            strokeOpacity: 1.0,
                            strokeWeight: 2
                        });
                        way.push(myPath);
                        myPath.setMap(map);
                    }
                    //var newLatlng = new google.maps.LatLng(value['lat'],value['long']);
                    myPoints.push(newLatlng);
                    map.panTo(newLatlng);
                })
            }
        });
    }
    setTimeout("temp1()",2000);
}
function temp1(){
    var device_id=document.getElementById('hide').value;
    //alert(device_id);
    for(j=0;j<device_id;j++)
    {
        // alert(document.getElementById('hid'+j).value);
        $.ajax({
            type: 'post',
            url: '<?=base_url()?>index.php/admin/tracking/get_last_location/'+document.getElementById('hide').value,
            // data: 'season_id='+season_id,
            dataType: "json",
            success: function(msg) {
                var newLatlng = new google.maps.LatLng(msg.lat,msg.lng);
                map.panTo(newLatlng);
                document.getElementById('speed').value=msg.speed;
                if(myPoints.length>0)
                {
                    var oldLatlng=myPoints[myPoints.length-1];
                    var myCoordinates = [
                        oldLatlng,
                        newLatlng
                    ];
                    if(oldLatlng!=newLatlng)
                    {
                        var myPath = new google.maps.Polyline({
                            path: myCoordinates,
                            strokeColor: "#FF0000",
                            strokeOpacity: 1.0,
                            strokeWeight: 2
                        });
                        way.push(myPath);
                        myPath.setMap(map);
                    }
                    myPoints.push(newLatlng);
                }
                else
                {
                    //var newLatlng = new google.maps.LatLng(value['lat'],value['long']);
                    myPoints.push(newLatlng);
                }
            }
        });
    }
    setTimeout("temp1()",2000);
}
function deleteOverlays() {
    if (myPoints.length>0) {
        for (i in myPoints) {
            myPoints[i].setMap(null);
        }
        myPoints.length = 0;
    }
    if (way.length>0) {
        for (i in way) {
            way[i].setMap(null);
        }
        way.length = 0;
    }
}
</script>
</head>
    <body style="font-family: Arial; border: 0 none;">
    <?if (isset ($val)){$i=0;
        foreach ($val as $d){?>
            <input type="hidden" value="<?=$d['deviceid']?>" id="hid<?=$i?>"/>
        <? $i++; }?>
        <input type="hidden" value="<?=$i?>" id="hide"/>
    <? }?>
    <div id="map-canvas" style="width: 700px; height: 500px"></div>
    <div>
        <form action="<?=base_url()?>index.php/admin/tracking/index" method="post" enctype="multipart/form-data">
            <select name="device[]" id="device" multiple>
            <?if (isset ($adv)){
                foreach ($adv as $device){?>
                <option value="<?=$device['id']?>"><?=$device['device_name']?></option>
            <?}}?>
            </select>
            <div><input type="submit" value="Check Path" name="check" /></div>
        </form>
    </div>
    <div id="seediv">
     </div>
    <div id="directionsPanel" style="width:700px;display: none"></div>
    <p style="display: none">Total Distance: <span id="total"></span></p>
    <div>
        <label for="lname">Current Speed:</label>
        <input type="text" name="speed" id="speed" disabled />
    </div>

从temp函数开始,我得到了map上的根,在temp1函数之后,我从数据库中得到了连续的路径点。但现在我想在地图上打印多个路径通过选择多个选择选项集。我怎么能????

你的问题不清楚。如果你接收到N个点,看起来就像你添加了N条路径,每条路径都有一个点。如果您想要一条长路径,请将点添加到数组中,然后再创建和添加折线。如果您想在地图上绘制多个单独的路径,那么发回一个对象数组,并对每个对象执行前面的步骤。