diff options
Diffstat (limited to 'plugin.rb')
-rw-r--r-- | plugin.rb | 33 |
1 files changed, 14 insertions, 19 deletions
@@ -12,30 +12,25 @@ class Onebox::Engine::OpenStreetMapOnebox @@width = 425 @@height = 350 @@tile_size = 256 - + @@REGEX = /^https?:\/\/(?:www\.)openstreetmap\.org\/.*#map=([\d\.]+)\/([-\d\.]+)\/([-\d\.]+)/ # enable oneboxing permalinks (http://wiki.openstreetmap.org/wiki/Permalink) into iframes - matches_regexp(/^https?:\/\/(?:www\.)openstreetmap\.org/) + matches_regexp(@@REGEX) def to_html - if match = @url.match(/#map=([\d\.]+)\/([-\d\.]+)\/([-\d\.]+)/) - zoom, lat, lon = match.captures - iframe_url = "//www.openstreetmap.org/export/embed.html?bbox=#{get_bbox(lat.to_f, lon.to_f, zoom.to_i)}" - - if marker = @url.match(/mlat=([-\d\.]+).+mlon=([-\d\.]+)/) - mlat, mlon = marker.captures - iframe_url = "#{iframe_url}&marker=#{mlat}%2C#{mlon}" - end - - if layers = @url.match(/layers=(\w+)/) - iframe_url = "#{iframe_url}&layers=#{layers.captures[0]}" - end - - "<iframe src='#{iframe_url}' style='border: 0' width='#{@@width}' height='#{@@height}' frameborder='0' scrolling='no'></iframe>" - else - #"NOPE" #@url - @url + zoom, lat, lon = @url.match(@@REGEX).captures + iframe_url = "//www.openstreetmap.org/export/embed.html?bbox=#{get_bbox(lat.to_f, lon.to_f, zoom.to_i)}" + + if marker = @url.match(/mlat=([-\d\.]+).+mlon=([-\d\.]+)/) + mlat, mlon = marker.captures + iframe_url = "#{iframe_url}&marker=#{mlat}%2C#{mlon}" end + + if layers = @url.match(/layers=(\w+)/) + iframe_url = "#{iframe_url}&layers=#{layers.captures[0]}" + end + + "<iframe src='#{iframe_url}' style='border: 0' width='#{@@width}' height='#{@@height}' frameborder='0' scrolling='no'></iframe>" end private |