public function addElement(XMLElement $element)
 {
     $name = $element->name();
     $value = $element->value();
     switch ($name) {
         // more tags see
         // http://code.google.com/apis/kml/documentation/kmlreference.html#polygon
         case 'OUTERBOUNDARYIS':
             $this->outerBoundary = $element->getChildElement('LINEARRING');
             break;
         case 'INNERBOUNDARYIS':
             $this->innerBoundaries[] = $element->getChildElement('LINEARRING');
             break;
         default:
             parent::addElement($element);
             break;
     }
 }
Exemple #2
0
 public function addElement(XMLElement $element)
 {
     $name = $element->name();
     $value = $element->value();
     switch ($name) {
         case 'ICONSTYLE':
             $iconChild = $element->getChildElement('ICON');
             $this->iconStyle = array(MapStyle::ICON => $iconChild->getProperty('HREF'), MapStyle::WIDTH => $element->getProperty('W'), MapStyle::HEIGHT => $element->getProperty('H'), MapStyle::SCALE => $element->getProperty('SCALE'));
             break;
         case 'BALLOONSTYLE':
             $this->balloonStyle = array(MapStyle::FILLCOLOR => $element->getProperty('BGCOLOR'), MapStyle::COLOR => $element->getProperty('TEXTCOLOR'));
             break;
         case 'LINESTYLE':
             $this->lineStyle = array(MapStyle::COLOR => $element->getProperty('COLOR'), MapStyle::WEIGHT => $element->getProperty('WEIGHT'));
             break;
         case 'POLYSTYLE':
             // if OUTLINE == 1, keep track and use lineStyle for outlines
             // if FILL == 1, use supplied color, otherwise just ignore color
             $shouldFill = $element->getProperty('FILL');
             $color = $shouldFill ? $element->getProperty('COLOR') : null;
             $this->polyStyle = array(MapStyle::FILLCOLOR => $color, MapStyle::SHOULD_OUTLINE => $element->getProperty('OUTLINE'));
             break;
         case 'LABELSTYLE':
             $this->labelStyle = array();
             break;
         case 'LISTSTYLE':
             $this->listStyle = array();
             break;
         case 'PAIR':
             $state = $element->getProperty('KEY');
             $styleRef = substr($element->getProperty('STYLEURL'), 1);
             $style = $this->styleContainer->getStyle($styleRef);
             // store the style URL if the parser hasn't yet loaded the associated simple style
             if ($state == 'normal') {
                 $this->normalStyle = $style ? $styleRef : $style;
             } else {
                 if ($state == 'highlighted') {
                     $this->highlightStyle = $style ? $styleRef : $style;
                 }
             }
             break;
         default:
             parent::addElement($element);
             break;
     }
 }