diff options
author | Marcin Rataj <lidel@lidel.org> | 2014-11-12 22:37:45 +0100 |
---|---|---|
committer | Marcin Rataj <lidel@lidel.org> | 2014-11-12 22:37:45 +0100 |
commit | 4be377701b5ac2a10a273f3d5eb7a4f41b7de9ec (patch) | |
tree | c82525d08295e48b4625e8c3dbeddbacc1d05a12 | |
parent | 98ce24f33b830a82cd5d380687d8af6d2db885e4 (diff) | |
download | discourse-umap-4be377701b5ac2a10a273f3d5eb7a4f41b7de9ec.tar.gz |
Layer support and bugfixes
-rw-r--r-- | plugin.rb | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -18,16 +18,20 @@ class Onebox::Engine::OpenStreetMapOnebox matches_regexp(/^https?:\/\/(?:www\.)openstreetmap\.org/) def to_html - if match = @url.match(/#map=([\d\.]+)\/([\d\.]+)\/([\d\.]+)/) + 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\.]+)/) + if marker = @url.match(/mlat=([-\d\.]+).+mlon=([-\d\.]+)/) mlat, mlon = marker.captures iframe_url = "#{iframe_url}&marker=#{mlat}%2C#{mlon}" end - "<iframe src='#{iframe_url}' style='border: 0' width='#{@@width.to_i}' height='#{@@height.to_i}' frameborder='0' scrolling='no'></iframe>" + 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 |