<?php |
<?php |
include('common.inc.php'); |
include('common.inc.php'); |
$output = Array(); |
$output = Array(); |
$output['hotspots'] = Array(); |
$output['hotspots'] = Array(); |
$output['layer'] = "canberrabusstops"; |
$output['layer'] = "canberrabusstops"; |
|
|
$max_page = 10; |
$max_page = 10; |
$max_results = 50; |
$max_results = 50; |
$page_start = 0+$_REQUEST['pageKey']; |
$page_start = 0+$_REQUEST['pageKey']; |
$page_end = $max_page+$_REQUEST['pageKey']; |
$page_end = $max_page+$_REQUEST['pageKey']; |
|
|
$url = $APIurl."/json/neareststops?lat={$_REQUEST['lat']}&lon={$_REQUEST['lon']}&limit=50"; |
$url = $APIurl."/json/neareststops?lat={$_REQUEST['lat']}&lon={$_REQUEST['lon']}&limit=50"; |
$contents = json_decode(getPage($url)); |
$contents = json_decode(getPage($url)); |
debug(print_r($contents,true)); |
debug(print_r($contents,true)); |
$stopNum = 0; |
$stopNum = 0; |
foreach ($contents as $row) |
foreach ($contents as $row) |
{ |
{ |
$stopNum++; |
$stopNum++; |
if ($stopNum > $page_start && $stopNum <= $page_end) { |
if ($stopNum > $page_start && $stopNum <= $page_end) { |
$hotspot = Array(); |
$hotspot = Array(); |
$hotspot['id'] = $row[0]; |
$hotspot['id'] = $row[0]; |
$hotspot['title'] = $row[1]; |
$hotspot['title'] = $row[1]; |
$hotspot['type'] = 0; |
$hotspot['type'] = 0; |
$hotspot['lat'] = floor($row[2]*1000000); |
$hotspot['lat'] = floor($row[2]*1000000); |
$hotspot['lon'] = floor($row[3]*1000000); |
$hotspot['lon'] = floor($row[3]*1000000); |
$hotspot['distance'] = distance($row[2], $row[3], $_REQUEST['lat'], $_REQUEST['lon']); |
$hotspot['distance'] = distance($row[2], $row[3], $_REQUEST['lat'], $_REQUEST['lon']); |
if (!isset($_REQUEST['radius']) || $hotspot['distance'] < $_REQUEST['radius']) { |
if (!isset($_REQUEST['radius']) || $hotspot['distance'] < $_REQUEST['radius']) { |
$hotspot['actions'] = Array(Array("label" => 'View more trips/information', 'uri' => 'http://bus.lambdacomplex.org/'.'stop.php?stopid='.$row[0])); |
$hotspot['actions'] = Array(Array("label" => 'View more trips/information', 'uri' => 'http://bus.lambdacomplex.org/'.'stop.php?stopid='.$row[0])); |
$url = $APIurl."/json/stoptrips?stop=".$row[0]."&time=".midnight_seconds()."&service_period=".service_period(); |
$url = $APIurl."/json/stoptrips?stop=".$row[0]."&time=".midnight_seconds()."&service_period=".service_period()."&limit=4"; |
$trips = json_decode(getPage($url)); |
$trips = json_decode(getPage($url)); |
debug(print_r($trips,true)); |
debug(print_r($trips,true)); |
foreach ($trips as $key => $row) |
foreach ($trips as $key => $row) |
{ |
{ |
if ($key < 3) { |
if ($key < 3) { |
$hotspot['line'.strval($key+2)]= $row[1][1] .' @ ' .midnight_seconds_to_time($row[0]); |
$hotspot['line'.strval($key+2)]= $row[1][1] .' @ ' .midnight_seconds_to_time($row[0]); |
} |
} |
} |
} |
if (sizeof($trips) == 0) $hotspot['line2'] = 'No trips in the near future.'; |
if (sizeof($trips) == 0) $hotspot['line2'] = 'No trips in the near future.'; |
$output['hotspots'][] = $hotspot; |
$output['hotspots'][] = $hotspot; |
} |
} |
} |
} |
} |
} |
if (sizeof($hotspot) > 0) { |
if (sizeof($hotspot) > 0) { |
$output['errorString'] = 'ok'; |
$output['errorString'] = 'ok'; |
$output['errorCode'] = 0; |
$output['errorCode'] = 0; |
} else { |
} else { |
$output['errorString'] = 'no results, try increasing range'; |
$output['errorString'] = 'no results, try increasing range'; |
$output['errorCode'] = 21; |
$output['errorCode'] = 21; |
} |
} |
if ($page_end >= $max_results || sizeof($hotspot) < $max_page) { |
if ($page_end >= $max_results || sizeof($hotspot) < $max_page) { |
$output["morePages"] = false; |
$output["morePages"] = false; |
$output["nextPageKey"] = null; |
$output["nextPageKey"] = null; |
} else { |
} else { |
$output["morePages"] = true; |
$output["morePages"] = true; |
$output["nextPageKey"] = $page_end; |
$output["nextPageKey"] = $page_end; |
} |
} |
echo json_encode($output); |
echo json_encode($output); |
?> |
?> |