Pagination for layar api
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) {