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?, parse

Constructor Details

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

Returns a new instance of Placemark.



1588
1589
1590
1591
# File 'lib/kamelopard/classes.rb', line 1588

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

Instance Attribute Details

#balloonVisibilityObject

Returns the value of attribute balloonVisibility.



1586
1587
1588
# File 'lib/kamelopard/classes.rb', line 1586

def balloonVisibility
  @balloonVisibility
end

#geometryObject

Returns the value of attribute geometry.



1586
1587
1588
# File 'lib/kamelopard/classes.rb', line 1586

def geometry
  @geometry
end

#nameObject

Returns the value of attribute name.



1586
1587
1588
# File 'lib/kamelopard/classes.rb', line 1586

def name
  @name
end

Instance Method Details

#altitudeObject



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

def altitude
    @geometry.altitude
end

#altitudeModeObject



1622
1623
1624
# File 'lib/kamelopard/classes.rb', line 1622

def altitudeMode
    @geometry.altitudeMode
end

#latitudeObject



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

def latitude
    @geometry.latitude
end

#longitudeObject



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

def longitude
    @geometry.longitude
end

#pointObject



1626
1627
1628
1629
1630
1631
1632
1633
1634
# File 'lib/kamelopard/classes.rb', line 1626

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



1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
# File 'lib/kamelopard/classes.rb', line 1593

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



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

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