Skip to content

Instantly share code, notes, and snippets.

module KmlParser
def self.parse(xml)
doc = Nokogiri::XML(xml)
output = {}
output[:polylines] = []
output[:markers] = []
doc.xpath('//xmlns:Placemark').each do |kmlplacemark|
if kmlplacemark.xpath('xmlns:LineString').empty?
point = kmlplacemark.xpath('xmlns:Point/xmlns:coordinates').text.split(',').map{|x| x.to_f}
icon = doc.css(kmlplacemark.xpath('xmlns:styleUrl').text).xpath('xmlns:IconStyle/xmlns:Icon/xmlns:href').text