1 L.OSM.share = function (options) {
2 var control = L.control(options);
4 control.onAdd = function (map) {
5 var $container = $('<div>')
6 .attr('class', 'control-share');
9 .attr('class', 'control-button')
11 .attr('title', 'Share')
12 .html('<span class="icon share"></span>')
14 .appendTo($container);
17 .attr('class', 'share-ui');
20 .text(I18n.t('javascripts.share.title'))
23 var $share_link = $('<div></div>')
26 var $title = $('<h3></h3>')
27 .text(I18n.t('javascripts.share.link'))
28 .appendTo($share_link);
30 var $short_url_input = $('<input />')
31 .attr('id', 'short_url')
32 .attr('type', 'checkbox')
33 .prop('checked', 'checked')
34 .appendTo($share_link)
35 .bind('change', function() {
36 options.short = $(this).prop('checked');
40 var $short_url_label = $('<label></label>')
41 .text(I18n.t('javascripts.share.short_url'))
42 .attr('for', 'short_url')
43 .appendTo($share_link);
45 var $input = $('<input />')
46 .appendTo($share_link);
48 map.on('moveend layeradd layerremove', update);
50 options.sidebar.addPane($ui);
55 options.sidebar.togglePane($ui);
59 var center = map.getCenter().wrap();
60 var layers = getMapLayers(map);
62 options.short ? options.getShortUrl(map) : options.getUrl(map)