The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.