Source for file gps.php

Documentation is available at gps.php

  1. <?php
  2. /**
  3.  * @package     Joomla.Platform
  4.  * @subpackage  Openstreetmap
  5.  *
  6.  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
  7.  * @license     GNU General Public License version 2 or later; see LICENSE
  8.  */
  9.  
  10. defined('JPATH_PLATFORM'or die();
  11.  
  12. /**
  13.  * Openstreetmap API GPS class for the Joomla Platform
  14.  *
  15.  * @package     Joomla.Platform
  16.  * @subpackage  Openstreetmap
  17.  * @since       13.1
  18.  */
  19. {
  20.     /**
  21.      * Method to retrieve GPS points
  22.      *
  23.      * @param   float    $left    Left boundary
  24.      * @param   float    $bottom  Bottom boundary
  25.      * @param   float    $right   Right boundary
  26.      * @param   float    $top     Top boundary
  27.      * @param   integer  $page    Page number
  28.      *
  29.      * @return    array  The XML response containing GPS points
  30.      *
  31.      * @since    13.1
  32.      */
  33.     public function retrieveGps($left$bottom$right$top$page 0)
  34.     {
  35.         // Set the API base
  36.         $base 'trackpoints?bbox=' $left ',' $bottom ',' $right ',' $top '&page=' $page;
  37.  
  38.         // Build the request path.
  39.         $path $this->getOption('api.url'$base;
  40.  
  41.         // Send the request.
  42.         $response $this->oauth->oauthRequest($path'GET'array());
  43.  
  44.         $xml_string simplexml_load_string($response->body);
  45.  
  46.         return $xml_string;
  47.     }
  48.  
  49.     /**
  50.      * Method to upload GPS Traces
  51.      *
  52.      * @param   string   $file         File name that contains trace points
  53.      * @param   string   $description  Description on trace points
  54.      * @param   string   $tags         Tags for trace
  55.      * @param   integer  $public       1 for public, 0 for private
  56.      * @param   string   $visibility   One of the following: private, public, trackable, identifiable
  57.      * @param   string   $username     Username
  58.      * @param   string   $password     Password
  59.      *
  60.      * @return  JHttpResponse  The response
  61.      *
  62.      * @since   13.1
  63.      */
  64.     public function uploadTrace($file$description$tags$public$visibility$username$password)
  65.     {
  66.         // Set parameters.
  67.         $parameters array(
  68.             'file' => $file,
  69.             'description' => $description,
  70.             'tags' => $tags,
  71.             'public' => $public,
  72.             'visibility' => $visibility
  73.         );
  74.  
  75.         // Set the API base
  76.         $base 'gpx/create';
  77.  
  78.         // Build the request path.
  79.         $path $this->getOption('api.url'$base;
  80.  
  81.         $header['Content-Type''multipart/form-data';
  82.  
  83.         $header array_merge($header$parameters);
  84.         $header array_merge($headerarray('Authorization' => 'Basic ' base64_encode($username ':' $password)));
  85.  
  86.         // Send the request.
  87.         $response $this->sendRequest($path'POST'$headerarray());
  88.  
  89.         return $response;
  90.     }
  91.  
  92.     /**
  93.      * Method to download Trace details
  94.      *
  95.      * @param   integer  $id        Trace identifier
  96.      * @param   string   $username  Username
  97.      * @param   string   $password  Password
  98.      *
  99.      * @return  array  The XML response
  100.      *
  101.      * @since   13.1
  102.      */
  103.     public function downloadTraceMetadetails($id$username$password)
  104.     {
  105.         // Set the API base
  106.         $base 'gpx/' $id '/details';
  107.  
  108.         // Build the request path.
  109.         $path $this->getOption('api.url'$base;
  110.  
  111.         // Send the request.
  112.         $xml_string $this->sendRequest($path'GET'array('Authorization' => 'Basic ' base64_encode($username ':' $password)));
  113.  
  114.         return $xml_string;
  115.     }
  116.  
  117.     /**
  118.      * Method to download Trace data
  119.      *
  120.      * @param   integer  $id        Trace identifier
  121.      * @param   string   $username  Username
  122.      * @param   string   $password  Password
  123.      *
  124.      * @return  array  The XML response
  125.      *
  126.      * @since   13.1
  127.      */
  128.     public function downloadTraceMetadata($id$username$password)
  129.     {
  130.         // Set the API base
  131.         $base 'gpx/' $id '/data';
  132.  
  133.         // Build the request path.
  134.         $path $this->getOption('api.url'$base;
  135.  
  136.         // Send the request.
  137.         $xml_string $this->sendRequest($path'GET'array('Authorization' => 'Basic ' base64_encode($username ':' $password)));
  138.  
  139.         return $xml_string;
  140.     }
  141. }

Documentation generated on Tue, 19 Nov 2013 15:04:01 +0100 by phpDocumentor 1.4.3