View Single Post
Trådstarter
185
Sitat av datagutten Vis innlegg
Laget en liten sak nå som viser sanntid:
http://host.datagutten.net/trafikant...eplass=2300500
Tallene bakerst i adressen er id for en holdeplass. Det er også mulig å skrive navnet på en holdeplass, men foreløpig fungerer det bare for navn uten parenteser.
Kildekode:

Kode

<?Php
$url='http://api';
if(!isset($_GET['holdeplass']))
	die('Navn eller id på holdeplass må oppgis');
$holdeplass=$_GET['holdeplass'];
function cleandate($date) //Gjør om datofelt til unix timestamp
{
return substr($date,6,10);
}

function showtime($seconds) //Vis tid i henhold til http://labs.trafikanten.no/ofte-stilte-spoersmaal.aspx#98
{
	if ($seconds<45)
		$time='Nå';
	elseif ($seconds>=45 && $seconds<=104)
		$time=1;
	elseif ($seconds>=105 && $seconds<=164)
		$time=2;
	elseif ($seconds>=165 && $seconds<=224)
		$time=3;
	elseif ($seconds>=225 && $seconds<=284)
		$time=4;
	elseif ($seconds>=285 && $seconds<=344)
		$time=5;
	elseif ($seconds>=345 && $seconds<=404)
		$time=6;
	elseif ($seconds>=405 && $seconds<=464)
		$time=7;
	elseif ($seconds>=465 && $seconds<=524)
		$time=8;
	elseif ($seconds>=525 && $seconds<=584)
		$time=9;
	elseif ($seconds>=585)
		$time=false;
if(is_numeric($time))
	$time=$time.' min';

return $time;

}

if(!is_numeric($holdeplass)) //Sjekk om det er oppgitt navn eller id på holdeplass
{
	$holdeplassdata=json_decode($data=file_get_contents($q=$url.'/Place/FindMatches/'.$holdeplass),true);
	$holdeplassid=$holdeplassdata[0]['ID'];

	var_dump($holdeplassdata.$q);
}
else
	$holdeplassid=$holdeplass;

$json=file_get_contents($url.'/RealTime/GetRealTimeData/'.$holdeplassid);
$realtime=json_decode($json,true);
//print_r($realtime);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sanntid for <?php echo $holdeplass ?></title>
</head>


<body>
<?Php

foreach ($realtime as $arrival)
{
	$arrivaltime=cleandate($arrival['AimedArrivalTime']);
	echo $arrival['LineRef'].' '.$arrival['DestinationDisplay'].': ';
	$now=cleandate($arrival['RecordedAtTime']);
	$time=showtime($arrivaltime-$now);
	if($time===false)
		$time=date('H:i',$arrivaltime);
	//$time=(int)date('i',$arrivaltime-$now);
	
	echo "$time<br>\n";
	
}
?>
</body>
</html>
Vis hele sitatet...
Utrolig stilig Men om jeg limer inn IDen til holdeplassen visperud, som er

Kode

 "Zone": "1",
          "X": 608133,
          "Y": 6645768,
          "ID": 2300500,
          "Name": "Visperud (i Solheimvn)",
          "District": "Lørenskog",
          "Type": 0,
          "Stops": [],
          "ShortName": "VIS"
Så får jeg opp disse dataene

Kode

411 Lillestrøm: Nå
411 Oslo Bussterminal: 23:08
401 Kjeller: 23:12
401 Oslo Bussterminal: 23:14
411 Lillestrøm: 23:17
411 Oslo Bussterminal: 23:38
401 Kjeller: 23:42
401 Oslo Bussterminal: 23:44
Hvordan kan koden konfigureres slik at visperud holdeplass dukker opp istede for Lillestrøm? Slik at jeg vet når bussen går fra denne holdeplassen?
Sist endret av Opous; 16. mars 2012 kl. 22:52.