Geo::G...efault(3pm)
π NAME π
Geo::GoogleEarth::Pluggable::Plugin::Default β the Default Plugin Methods for Geo::GoogleEarth::Pluggable. Yes bestie, this is the plugin that ships with the goods by default β¨
πΈ METHODS πΈ
Okay so here's the tea π« β every method in this package gets AUTOLOADed into the Geo::GoogleEarth::Pluggable::Folder namespace at runtime. You don't call them on the plugin, they just... appear on your folders. Iconic behaviour honestly π
π CONVENTIONS π
Plugin Naming Convention: Geo::GoogleEarth::Pluggable::Plugin::CPANID (like, e.g. "MRDVT" okay?)
Object Naming Convention: Geo::GoogleEarth::Pluggable::Contrib::"$method" (e.g. Point, CircleByCenterPoint)
The way that you literally only need one plugin pointing at all of your contributed objects? So efficient, we love to see it π¦
And bestie, listen β the package should be named after the plugin, not the objects, because it's a many-to-one relationship situation. (e.g. Geo-GoogleEarth-Pluggable-Plugin-MRDVT) iykyk π
β Point β
Constructs a brand new Placemark Point object and appends it to the parent folder object. And it returns the object reference if you need to tweak any settings after construction β so thoughtful π₯Ή
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 π
Not me leaving a note to self β we still need to determine what methods should live in the Folder package versus what should be on the Plugin/Default package, and why. The vibes are undecided bestie π
π BUGS π
Please log on RT and send to the geo-perl email list. Fr fr, don't suffer in silence π«Ά
π₯ SUPPORT π₯
DavisNetworks.com supports all Perl applications including this package. That's main character energy honestly π
π 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. No cap, go read it π
π SEE ALSO π
Geo::GoogleEarth::Pluggable::Contrib::PointGeo::GoogleEarth::Pluggable::Contrib::LineStringGeo::GoogleEarth::Pluggable::Contrib::LinearRing
Okay that's the whole page bestie, hope you ate π
β¨ This was written for perl v5.32.1, dated 2021-11-28, from the Geo::G...efault(3pm) page β slay, go make some Google Earth objects π¦πΈπ
π¦ where this page comes from
- debian bookworm: libgeo-googleearth-pluggable-perl 0.17-1 Β· BSD-3-Clause~STOP
- debian trixie: libgeo-googleearth-pluggable-perl 0.17-1 Β· BSD-3-Clause~STOP
- ubuntu jammy: libgeo-googleearth-pluggable-perl 0.17-1 Β· BSD-3-Clause~STOP
- ubuntu noble: libgeo-googleearth-pluggable-perl 0.17-1 Β· BSD-3-Clause~STOP
- ubuntu resolute: libgeo-googleearth-pluggable-perl 0.17-1 Β· BSD-3-Clause~STOP
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms