Class: Kamelopard::StyleMap

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

Overview

Corresponds to KML’s StyleMap object.

Instance Attribute Summary

Attributes inherited from Object

#comment, #kml_id, #master_only

Instance Method Summary collapse

Methods inherited from StyleSelector

#attach, #attached?

Methods inherited from Object

#_alternate_to_kml, #change, #master_only?

Constructor Details

#initialize(pairs = {}, options = {}) ⇒ StyleMap

StyleMap manages pairs. The first entry in each pair is a string key, the second is either a Style or a styleUrl. It will be assumed to be the latter if its kind_of? method doesn’t claim it’s a Style object



1509
1510
1511
1512
# File 'lib/kamelopard/classes.rb', line 1509

def initialize(pairs = {}, options = {})
    super options
    @pairs = pairs
end

Instance Method Details

#merge(a) ⇒ Object

Adds a new Style to the StyleMap.



1515
1516
1517
# File 'lib/kamelopard/classes.rb', line 1515

def merge(a)
    @pairs.merge!(a)
end

#to_kml(elem = nil) ⇒ Object



1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
# File 'lib/kamelopard/classes.rb', line 1519

def to_kml(elem = nil)
    t = XML::Node.new 'StyleMap'
    super t
    @pairs.each do |k, v|
        p = XML::Node.new 'Pair'
        key = XML::Node.new 'key'
        key << k.to_s
        p. << key
        if v.kind_of? Style then
            v.to_kml(p)
        else
            s = XML::Node.new 'styleUrl'
            s << v.to_s
            p << s
        end
        t << p
    end
    elem << t unless elem.nil?
    t
end