---
name: "Geo::GoogleEarth::Pluggable::Plugin::Style"
section: "3pm"
platform: "linux"
package: "libgeo-googleearth-pluggable-perl"
version: "0.17-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Geo::GoogleEarth::Pluggable::Plugin::Style"
---

# Geo::GoogleEarth::Pluggable::Plugin::Style(3pm)

Geo::GoogleEarth::Pluggable Style Plugin Methods

## NAME

Geo::GoogleEarth::Pluggable::Plugin::Style - Geo::GoogleEarth::Pluggable Style Plugin Methods

## SYNOPSIS

```
  use Geo::GoogleEarth::Pluggable;
  my $document=Geo::GoogleEarth::Pluggable->new;     #ISA L<Geo::GoogleEarth::Pluggable>
  my $style=$document->IconStyle(color=>{red=>255}); #ISA L<Geo::GoogleEarth::Pluggable::Style>
  my $point=$document->Point(style=>$style);         #ISA L<Geo::GoogleEarth::Pluggable::Contrib::Point>
  print $document->render;
```

## METHODS

Methods in this package are AUTOLOADed into the  Geo::GoogleEarth::Pluggable::Folder namespace at runtime.

### Style

Constructs a new Style object and appends it to the document object.  Returns the Style object reference.

```
  my $style=$folder->Style(
                           id => $id, #default is good
                           IconStyle  => {},
                           LineStyle  => {},
                           PolyStyle  => {},
                           LabelStyle => {},
                           ListStyle  => {},
                          );
  my $style=$folder->Style(
                           IconStyle  => $style1, #extracts IconStyle from $style1
                           LineStyle  => $style2, #extracts LineStyle from $style2
                           PolyStyle  => $style3, #extracts PolyStyle from $style3
                          );
```

### StyleMap

Constructs a new StyleMap object and appends it to the document object.  Returns the StyleMap object reference.

```
  my $stylemap=$document->StyleMap(
                            normal    => $style1,
                            highlight => $style2,
                          );
```

### IconStyle

```
  my $style=$folder->IconStyle(
                               color => $color,
                               scale => $scale,
                               href  => $url,
                              );
```

### LineStyle

```
  my $color={red=>255, green=>255, blue=>255, alpha=>255};
  my $style=$folder->LineStyle(color=>$color);
```

### PolyStyle

```
  my $color={red=>255, green=>255, blue=>255, alpha=>255};
  my $style=$folder->PolyStyle(color=>$color);
```

### LabelStyle

```
  my $style=$folder->LabelStyle(
                                color => $color,
                                scale => $scale,
                               );
```

### ListStyle

```
  my $style=$folder->ListStyle(
                               href => $url,
                              );
```

## TODO

Need to determine what methods should be in the Folder package and what should be on the Plugin/Style package and why.

## BUGS

Please log on RT and send to the geo-perl email list.

## LIMITATIONS

This will construct 100 identical style objects

```
  foreach (1 .. 100) {
    $document->Point(style=>$document->IconStyle(color=>{red=>255}));
  }
```

Do this instead

```
  my $style=$document->IconStyle(color=>{red=>255});
  foreach (1 .. 100) {
    $document->Point(style=>$style);
  }
```

## SUPPORT

Try geo-perl email list.

## AUTHOR

```
  Michael R. Davis (mrdvt92)
  CPAN ID: MRDVT
```

## COPYRIGHT

This program is free software licensed under the...

```
  The BSD License
```

The full text of the license can be found in the LICENSE file included with this module.

## SEE ALSO

Geo::GoogleEarth::Pluggable creates a GoogleEarth Document.
