Add stops/stops by suburb geositemap
[busui.git] / geo / stops.kml.php
blob:a/geo/stops.kml.php -> blob:b/geo/stops.kml.php
  <?php
  header('Content-type: application/vnd.google-earth.kml+xml');
  //http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_KML
  // Creates the KML/XML Document.
  $dom = new DOMDocument('1.0', 'UTF-8');
  // Creates the root KML element and appends it to the root document.
  $node = $dom->createElementNS('http://earth.google.com/kml/2.1', 'kml');
  $parNode = $dom->appendChild($node);
  // Creates a KML Document element and append it to the KML element.
  $dnode = $dom->createElement('Document');
  $docNode = $parNode->appendChild($dnode);
  if ($suburb != "") $result_stops = getStopsBySuburb($suburb);
  else $result_stops = getStops();
  foreach ($result_stops as $stop) {
  $description = 'http://bus.lambdacomplex.org/' . 'stop.php?stopid=' . $stop['stop_id'] . " <br>";
  // Creates a Placemark and append it to the Document.
  $node = $dom->createElement('Placemark');
  $placeNode = $docNode->appendChild($node);
  // Creates an id attribute and assign it the value of id column.
  $placeNode->setAttribute('id', 'placemark' . $stop['stop_id']);
  // Create name, and description elements and assigns them the values of the name and address columns from the results.
  $nameNode = $dom->createElement('name', htmlentities($stop['stop_name']));
  $descriptionNode = $dom->createElement('description', $description);
  $placeNode->appendChild($nameNode);
  $placeNode->appendChild($descriptionNode);
  // Creates a Point element.
  $pointNode = $dom->createElement('Point');
  $placeNode->appendChild($pointNode);
  // Creates a coordinates element and gives it the value of the lng and lat columns from the results.
  $coorStr = $stop['stop_lon'] . ',' . $stop['stop_lat'];
  $coorNode = $dom->createElement('coordinates', $coorStr);
  $pointNode->appendChild($coorNode);
  }
  $kmlOutput = $dom->saveXML();
  echo $kmlOutput;
  ?>