/**
  * it draws object on map
  *
  * @param Map $map
  */
 public function draw(Map $map)
 {
     parent::draw($map);
     if (sizeof($this->_points) > 0) {
         $firstPoint = reset($this->_points);
         $lastPoint = $this->_points[sizeof($this->_points) - 1];
         $this->_drawLineBetweenPoints($map, $firstPoint, $lastPoint);
     }
 }
 /**
  * return array of drawing paths
  *
  * @return array
  */
 public function getPaths()
 {
     $paths = array();
     $string = $this->_mapRequest->getPathPoints();
     if (is_null($string)) {
         return array();
     }
     $coordinatesStrings = explode(self::$drawObjectDelimeter, $string);
     foreach ($coordinatesStrings as $coordinatesString) {
         $coordinates = explode(self::$paramDelimeter, $coordinatesString);
         $path = new DrawPath();
         $i = 0;
         foreach ($coordinates as $coordinate) {
             if ($i == 0 && is_numeric($coordinate)) {
                 $lon = $coordinate;
                 $i++;
             } else {
                 if (is_numeric($coordinate)) {
                     $addPoint = new DrawMarkPoint($lon, $coordinate);
                     $path->addPoint($addPoint);
                     $i = 0;
                 } else {
                     $param = ParamFactory::create($coordinate);
                     $path->setParam($param);
                 }
             }
         }
         $paths[] = $path;
     }
     return $paths;
 }