/**
  * it draws objects from DrawRequest
  *
  * @param DrawRequest $request
  */
 public function draw(DrawRequest $request)
 {
     $drawings = $request->getDrawings();
     // first draw all drawings that are not DrawMarkPoints
     foreach ($drawings as $drawing) {
         if (!$drawing->hasColor()) {
             //if color is not set, default color will be used
             $drawing->setColor($request->getColor());
         }
         if ($drawing instanceof DrawLine && !$drawing->hasThickness()) {
             $drawing->setThickness($request->getThickness());
         }
         if (!$drawing->hasTransparency()) {
             $drawing->setTransparency($request->getTransparency());
         }
         if (!$drawing instanceof DrawMarkPoint) {
             $drawing->draw($this->_map);
         }
     }
     // then draw the DrawMarkPoints on top
     foreach ($drawings as $drawing) {
         if ($drawing instanceof DrawMarkPoint) {
             if (!$drawing->hasImageUrl()) {
                 $drawing->setImageUrl($request->getPointImageUrl());
             }
             $drawing->draw($this->_map);
         }
     }
 }