Class: Kamelopard::Placemark

Inherits:
Feature show all
Defined in:
lib/kamelopard/classes.rb

Overview

Corresponds to KML’s Placemark objects. The geometry attribute requires a descendant of Geometry

Instance Attribute Summary collapse

Attributes inherited from Feature

#abstractView, #addressDetails, #atom_author, #atom_link, #description, #extendedData, #metadata, #open, #phoneNumber, #region, #snippet, #styleSelector, #styleUrl, #styles, #timeprimitive, #visibility

Attributes included from Snippet

#maxLines, #snippet_text

Attributes inherited from Object

#comment, #kml_id, #master_only

Instance Method Summary collapse

Methods inherited from Feature

add_author, #extended_data_to_kml, #hide, #show, #styles_to_kml, #timespan, #timespan=, #timestamp, #timestamp=

Methods included from Snippet

#snippet_to_kml

Methods inherited from Object

#_alternate_to_kml, #change, #master_only?

Constructor Details

#initialize(name = nil, options = {}) ⇒ Placemark

Returns a new instance of Placemark.



1583
1584
1585
1586
# File 'lib/kamelopard/classes.rb', line 1583

def initialize(name = nil, options = {})
    super
    @name = name unless name.nil?
end

Instance Attribute Details

#balloonVisibilityObject

Returns the value of attribute balloonVisibility.



1581
1582
1583
# File 'lib/kamelopard/classes.rb', line 1581

def balloonVisibility
  @balloonVisibility
end

#geometryObject

Returns the value of attribute geometry.



1581
1582
1583
# File 'lib/kamelopard/classes.rb', line 1581

def geometry
  @geometry
end

#nameObject

Returns the value of attribute name.



1581
1582
1583
# File 'lib/kamelopard/classes.rb', line 1581

def name
  @name
end

Instance Method Details

#altitudeObject



1613
1614
1615
# File 'lib/kamelopard/classes.rb', line 1613

def altitude
    @geometry.altitude
end

#altitudeModeObject



1617
1618
1619
# File 'lib/kamelopard/classes.rb', line 1617

def altitudeMode
    @geometry.altitudeMode
end

#latitudeObject



1609
1610
1611
# File 'lib/kamelopard/classes.rb', line 1609

def latitude
    @geometry.latitude
end

#longitudeObject



1605
1606
1607
# File 'lib/kamelopard/classes.rb', line 1605

def longitude
    @geometry.longitude
end

#pointObject



1621
1622
1623
1624
1625
1626
1627
1628
1629
# File 'lib/kamelopard/classes.rb', line 1621

def point
    if @geometry.kind_of? Point then
        @geometry
    elsif @geometry.respond_to? :point then
        @geometry.point
    else
        raise "This placemark uses a non-point geometry, but the operation you're trying requires a point object"
    end
end

#to_kml(elem = nil) ⇒ Object



1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
# File 'lib/kamelopard/classes.rb', line 1588

def to_kml(elem = nil)
    k = XML::Node.new 'Placemark'
    super k
    @geometry.to_kml(k) unless @geometry.nil?
    if ! @balloonVisibility.nil? then
         x = XML::Node.new 'gx:balloonVisibility'
         x << ( @balloonVisibility ? 1 : 0 )
         k << x
    end
    elem << k unless elem.nil?
    k
end

#to_sObject



1601
1602
1603
# File 'lib/kamelopard/classes.rb', line 1601

def to_s
    "Placemark id #{ @kml_id } named #{ @name }"
end