pilootnour5
Terugkerende gebruiker
- Lid geworden
- 22 nov 2008
- Berichten
- 1.895
Beste lezers,
Ik zit met een klein probleempje en ik heb na lang zoeken helaas geen antwoord gevonden. Ik ben momenteel voor mijn website aan het stoeien met de NS-API. Allemaal erg leuk! Ik ben de verschillende functies aan het uitproberen. Zo ben ik nu bezig met de routeplanner. Als voorbeeld gebruik ik de rit Tilburg Reeshof naar Utrecht Centraal. Hij geeft alle info goed door, behalve de aankomsttijd. De aankomsttijd die hij weergeeft is precies dezelfde als de vertrektijd. Hieronder zie je de API class van het betreffende gedeelte:
En dit is een deel van de PHP pagina waar ik het een en ander oproep:
als ik dit uitvoer krijg ik bijvoorbeeld:
Vertrektijd: 13:35
Aankomsttijd: 13:35 Overstappen: 1
Reistijd: 01:02
Ik heb het idee dat ik gewoon iets stoms over het hoofd zie maar ik weet niet wat. Ziet iemand anders het probleem?
Alvast bedankt!
Ik zit met een klein probleempje en ik heb na lang zoeken helaas geen antwoord gevonden. Ik ben momenteel voor mijn website aan het stoeien met de NS-API. Allemaal erg leuk! Ik ben de verschillende functies aan het uitproberen. Zo ben ik nu bezig met de routeplanner. Als voorbeeld gebruik ik de rit Tilburg Reeshof naar Utrecht Centraal. Hij geeft alle info goed door, behalve de aankomsttijd. De aankomsttijd die hij weergeeft is precies dezelfde als de vertrektijd. Hieronder zie je de API class van het betreffende gedeelte:
PHP:
function getTrips($from, $to, $options = array()) {
if (!empty($options['dateTime'])) {
$options['dateTime'] = date('c', strtotime($options['dateTime']));
}
$xmlTree = $this->getUrl('ns-api-treinplanner', array_merge(array('fromStation' => $from, 'toStation' => $to), $options));
$output = array();
// Loop over each option
foreach($xmlTree as $xmlTrip) {
$trip = (array) $xmlTrip;
$tripOption = array('duration_scheduled' => self::hourMinutesToSeconds($trip['GeplandeReisTijd']),
'duration_actual' => self::hourMinutesToSeconds($trip['ActueleReisTijd']),
'optimal' => $trip['Optimaal'], 'departure_actual' => $trip['ActueleVertrekTijd'], 'departure_scheduled' => $trip['GeplandeVertrekTijd'],
'departure_actual' => strtotime($trip['ActueleVertrekTijd']), 'departure_scheduled' => strtotime($trip['GeplandeVertrekTijd']),
'arrival_actual' => strtotime($trip['ActueleVertrekTijd']), 'arrival_scheduled' => strtotime($trip['GeplandeVertrekTijd']),
'changes' => $trip['AantalOverstappen']
);
// Loop over each part of the option
foreach ($xmlTrip->ReisDeel as $xmlPart) {
$part = (array) $xmlPart;
$stops = array();
// Loop over each stop
foreach ($xmlPart->ReisStop as $xmlStop) {
$stop = (array) $xmlStop;
$curStop = array('station' => $stop['Naam'], 'time' => strtotime($stop['Tijd']));
if (!empty($stop['Spoor'])) {
$curStop['platform'] = $stop['Spoor'];
}
$stops[] = $curStop;
}
$tripOption['connections'][] = array('mode' => strtolower($part['@attributes']['reisSoort']),
'type' => $part['VervoerType'], 'service' => $part['RitNummer'], 'stops' => $stops);
}
$output[] = $tripOption;
}
return $output;
}
En dit is een deel van de PHP pagina waar ik het een en ander oproep:
PHP:
$from = 'Tilburg Reeshof';
$to = 'Utrecht Centraal';
require('../php_ns_trains.class.php');
$ns = new PhpNsTrains(API_USER, API_PASSWORD);
// $departures = $ns->getDepartures($_POST['station']);
$route = $ns->getTrips($from, $to);
if (!is_array($route)) {
echo '<p class="error">'.$route.'</p>';
} else {
foreach($route as $trip) {
echo 'Vertrektijd: ' . date('H:i', $trip['departure_scheduled']) . '<br />';
echo 'Aankomsttijd: ' . date('H:i', $trip['arrival_scheduled']) . ' Overstappen: ' .$trip['changes'];
// echo '<br />Reistijd: ' . $trip['duration_actual'];
echo '<br />Reistijd: ' . gmdate("H:i", $trip['duration_scheduled']);
echo "<br /><br />";
// echo '<br /> TESTING';
}
}
als ik dit uitvoer krijg ik bijvoorbeeld:
Vertrektijd: 13:35
Aankomsttijd: 13:35 Overstappen: 1
Reistijd: 01:02
Ik heb het idee dat ik gewoon iets stoms over het hoofd zie maar ik weet niet wat. Ziet iemand anders het probleem?
Alvast bedankt!
Laatst bewerkt: