Пример #1
0
 foreach ($_layer['class'] as $c => $_class) {
     try {
         $class = $layer->getClass($c);
     } catch (MapScriptException $e) {
         $class = new classObj($layer);
     }
     if (isset($_class['name']) && !empty($_class['name'])) {
         $class->name = $_class['name'];
     }
     if (isset($_class['expression']) && !empty($_class['expression'])) {
         $class->setExpression($_class['expression']);
     }
     if (isset($_class['style']) && is_array($_class['style'])) {
         foreach ($_class['style'] as $s => $_style) {
             try {
                 $style = $class->getStyle($s);
             } catch (MapScriptException $e) {
                 $style = new styleObj($class);
             }
             $_style['color'] = array_filter($_style['color'], function ($v) {
                 return is_numeric($v) && $v >= 0 && $v <= 255;
             });
             $_style['outlinecolor'] = array_filter($_style['outlinecolor'], function ($v) {
                 return is_numeric($v) && $v >= 0 && $v <= 255;
             });
             if (isset($_style['color']) && !empty($_style['color']) && array_sum($_style['color']) >= 0) {
                 $style->color->setRGB($_style['color']['r'], $_style['color']['g'], $_style['color']['b']);
             }
             if (isset($_style['outlinecolor']) && !empty($_style['outlinecolor']) && array_sum($_style['outlinecolor']) >= 0) {
                 $style->outlinecolor->setRGB($_style['outlinecolor']['r'], $_style['outlinecolor']['g'], $_style['outlinecolor']['b']);
             }