From: maxious Date: Sun, 20 Feb 2011 09:39:01 +0000 Subject: Pagination for layar api X-Git-Url: http://maxious.lambdacomplex.org/git/?p=bus.git&a=commitdiff&h=dc7a9ec7787fc539f14a7d416fec3a28fe9e3f89 --- Pagination for layar api --- --- a/busui/layar_api.php +++ b/busui/layar_api.php @@ -4,32 +4,46 @@ $output['hotspots'] = Array(); $output['layer'] = "canberrabusstops"; -$url = $APIurl."/json/neareststops?lat={$_REQUEST['lat']}&lon={$_REQUEST['lon']}&limit=5"; +$page_start = 0+$_REQUEST['pageKey']; +$page_end = 10+$_REQUEST['pageKey']; +$max_results = 50; +if ($page_end >= $max_results) { + $output["morePages"] = false; + $output["nextPageKey"] = null; +} else { + $output["morePages"] = true; + $output["nextPageKey"] = $page_end; +} + +$url = $APIurl."/json/neareststops?lat={$_REQUEST['lat']}&lon={$_REQUEST['lon']}&limit=50"; $contents = json_decode(getPage($url)); debug(print_r($contents,true)); +$stopNum = 0; foreach ($contents as $row) { - $hotspot = Array(); - $hotspot['id'] = $row[0]; - $hotspot['title'] = $row[1]; - $hotspot['type'] = 0; - $hotspot['lat'] = floor($row[2]*1000000); - $hotspot['lon'] = floor($row[3]*1000000); - $hotspot['distance'] = distance($row[2], $row[3], $_REQUEST['lat'], $_REQUEST['lon']); - if (!isset($_REQUEST['radius']) || $hotspot['distance'] < $_REQUEST['radius']) { - $hotspot['actions'] = Array(Array("label" => 'Visit Webpage', 'uri' => 'http://bus.lambdacomplex.org/'.'stop.php?stopid='.$row[0])); - $url = $APIurl."/json/stoptrips?stop=".$row[0]."&time=".midnight_seconds()."&service_period=".service_period(); - $trips = json_decode(getPage($url)); - debug(print_r($trips,true)); - foreach ($trips as $key => $row) - { - if ($key > 3) { - $hotspot['line'.$key+2]= $row[1][1] .' @ ' .midnight_seconds_to_time($row[0]); + $stopNum++; + if ($stopNum > $page_start && $stopNum < $page_end) { + $hotspot = Array(); + $hotspot['id'] = $row[0]; + $hotspot['title'] = $row[1]; + $hotspot['type'] = 0; + $hotspot['lat'] = floor($row[2]*1000000); + $hotspot['lon'] = floor($row[3]*1000000); + $hotspot['distance'] = distance($row[2], $row[3], $_REQUEST['lat'], $_REQUEST['lon']); + if (!isset($_REQUEST['radius']) || $hotspot['distance'] < $_REQUEST['radius']) { + $hotspot['actions'] = Array(Array("label" => 'Visit Webpage', 'uri' => 'http://bus.lambdacomplex.org/'.'stop.php?stopid='.$row[0])); + $url = $APIurl."/json/stoptrips?stop=".$row[0]."&time=".midnight_seconds()."&service_period=".service_period(); + $trips = json_decode(getPage($url)); + debug(print_r($trips,true)); + foreach ($trips as $key => $row) + { + if ($key < 3) { + $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.'; + $output['hotspots'][] = $hotspot; } - if (sizeof($trips) == 0) $hotspot['line2'] = 'No trips in the near future.'; - $hotspot['imageURL'] = null; - $output['hotspots'][] = $hotspot; } } if (sizeof($hotspot) > 0) {