]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/leaflet.share.js
Fix embed
[rails.git] / app / assets / javascripts / leaflet.share.js
index 9388bde658f992812547546cd64ab8034a839ad7..aef60d1cd9b735d942daf951689222cf68800764 100644 (file)
@@ -61,7 +61,19 @@ L.OSM.share = function (options) {
               .bind('change', toggleMarker))
           .append(I18n.t('javascripts.share.include_marker')));
 
-    var $shortLink, $longLink;
+    $('<div>')
+      .attr('class', 'form-row')
+      .appendTo($form)
+      .append(
+        $('<label>')
+          .attr('for', 'center_marker')
+          .append(
+            $('<input>')
+              .attr('id', 'center_marker')
+              .attr('type', 'checkbox')
+              .prop('checked', true)
+              .bind('change', update))
+          .append(I18n.t('javascripts.share.center_marker')));
 
     $('<div>')
       .attr('class', 'form-row')
@@ -245,11 +257,18 @@ L.OSM.share = function (options) {
     }
 
     function update() {
+      if (map.hasLayer(marker) && $('#center_marker').is(':checked')) {
+        map.panTo(marker.getLatLng());
+      }
+
       var bounds = map.getBounds();
 
       $('#link_marker')
         .prop('checked', map.hasLayer(marker));
 
+      $('#center_marker')
+        .prop('disabled', !map.hasLayer(marker));
+
       $('#image_filter')
         .prop('checked', locationFilter.isEnabled());
 
@@ -271,9 +290,9 @@ L.OSM.share = function (options) {
 
       $('#embed_html').val(
         '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="' +
-          'http://' + OSM.SERVER_URL + '/export/embed.html?' + $.param(params) +
+          escapeHTML('http://' + OSM.SERVER_URL + '/export/embed.html?' + $.param(params)) +
           '" style="border: 1px solid black"></iframe><br/>' +
-          '<small><a href="' + map.getUrl(marker) + '</a></small>');
+          '<small><a href="' + escapeHTML(map.getUrl(marker)) + '</a></small>');
 
       // Image