嘿,这是我的谷歌地图代码
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>
从临时函数我在地图上启动了根,然后在temp1函数之后我从数据库得到了连续的路径点。但现在我想通过选择多组选择选项在地图上打印多个路径。我怎么能????
答案 0 :(得分:0)
你的问题不明确。如果您收到N个点,看起来您正在添加N个路径,每个路径一个点。如果您想要一条长路径,请将点添加到数组中,然后仅创建并添加折线。如果要在地图上绘制多个单独的路径,则发回一个对象数组,并为每个路径执行上一步。