---
name: "Geo::GoogleEarth::Pluggable::Plugin::Default"
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::Default"
---

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

Geo::GoogleEarth::Pluggable Default Plugin Methods

## NAME

Geo::GoogleEarth::Pluggable::Plugin::Default - Geo::GoogleEarth::Pluggable Default Plugin Methods

## METHODS

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

## CONVENTIONS

Plugin Naming Convention: Geo::GoogleEarth::Pluggable::Plugin::CPANID (e.g. "MRDVT") Object Naming Convention: Geo::GoogleEarth::Pluggable::Contrib::"$method" (e.g. Point, CircleByCenterPoint)

You only need to have one plugin pointing to all of your contributed objects.

The package should be named after the plugin not the objects since there is a many to one relationship.  (e.g. Geo-GoogleEarth-Pluggable-Plugin-MRDVT)

### Point

Constructs a new Placemark Point object and appends it to the parent folder object.  Returns the object reference if you need to make any setting changes after construction.

```
  my $point=$folder->Point(name=>"My Placemark",
                           lat=>38.897607,
                           lon=>-77.036554,
                           alt=>0);
```

### Polygon

```
  $folder->Polygon(
                   name        => "My Polygon",
                   coordinates => [
                                    [ #outerBoundaryIs
                                      [ -95.74356, 29.61974 ],
                                      [ -95.74868, 29.62188 ],
                                      [ -95.74857, 29.62210 ],
                                      [ -95.74256, 29.62266 ],
                                      [ -95.74356, 29.61974 ],
                                    ],
                                    \@innerBoundaryIs1,
                                    \@innerBoundaryIs2,
                                    \@innerBoundaryIs3,
                                  ],
                   style       => $style,
                   open        => 1,
                   description => $html,
                  ),
```

### MultiPolygon

```
  $folder->MultiPolygon(
                        name        => "My MultiPolygon",
                        coordinates => [ #MultiGeometry
                                         [ #Polygon1
                                           [
                                             [ -95.45662, 29.77814 ],
                                             [ -95.45668, 29.77809 ],
                                             [ -95.45675, 29.77814 ],
                                             [ -95.45669, 29.77820 ],
                                             [ -95.45662, 29.77814 ],
                                           ],
                                           \@innerBoundaryIs1,
                                         ],
                                         [ #Polygon2
                                           [
                                             [ -95.45677, 29.77785 ],
                                             [ -95.45683, 29.77780 ],
                                             [ -95.45689, 29.77785 ],
                                             [ -95.45683, 29.77791 ],
                                             [ -95.45677, 29.77785 ],
                                           ],
                                         ],
                                       ],
                       );
```

### LineString

```
  $folder->LineString(name=>"My Placemark",
                      coordinates=>[
                                     [lat,lon,alt],
                                     {lat=>$lat,lon=>$lon,alt=>$alt},
                                   ]);
```

### LinearRing

```
  $folder->LinearRing(name=>"My Placemark",
                      coordinates=>[
                                     [lat,lon,alt],
                                     {lat=>$lat,lon=>$lon,alt=>$alt},
                                   ]);
```

## TODO

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

## BUGS

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

## SUPPORT

DavisNetworks.com supports all Perl applications including this package.

## 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::Contrib::Point, Geo::GoogleEarth::Pluggable::Contrib::LineString, Geo::GoogleEarth::Pluggable::Contrib::LinearRing
