.attr('class', 'control-share');
var button = $('<a>')
- .attr('class', 'control-button mobile-hide')
+ .attr('class', 'control-button')
.attr('href', '#')
.attr('title', I18n.t('javascripts.share.title'))
.html('<span class="icon share"></span>')
.text(I18n.t('javascripts.share.paste_html'))
.appendTo($linkSection));
+ // Geo URI
+
+ var $geoUriSection = $('<div>')
+ .attr('class', 'section share-geo-uri')
+ .appendTo($ui);
+
+ $('<h4>')
+ .text(I18n.t('javascripts.share.geo_uri'))
+ .appendTo($geoUriSection);
+
+ $('<div>')
+ .appendTo($geoUriSection)
+ .append($('<a>')
+ .attr('id', 'geo_uri'));
+
// Image
var $imageSection = $('<div>')
.text(I18n.t('javascripts.share.image'))
.appendTo($imageSection);
+ $('<div>')
+ .attr('id', 'export-warning')
+ .attr('class', 'deemphasize')
+ .text(I18n.t('javascripts.share.only_standard_layer'))
+ .appendTo($imageSection);
+
$form = $('<form>')
+ .attr('id', 'export-image')
.attr('class', 'standard-form')
.attr('action', '/export/finish')
.attr('method', 'post')
update();
options.sidebar.togglePane($ui, button);
+ $('.leaflet-control .control-button').tooltip('hide');
}
function toggleMarker() {
update();
}
+ function escapeHTML(string) {
+ var htmlEscapes = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ "'": '''
+ };
+ return string === null ? '' : (string + '').replace(/[&<>"']/g, function(match) {
+ return htmlEscapes[match];
+ });
+ }
+
function update() {
var bounds = map.getBounds();
'<small><a href="' + escapeHTML(map.getUrl(marker)) + '">' +
escapeHTML(I18n.t('javascripts.share.view_larger_map')) + '</a></small>');
+ // Geo URI
+
+ $('#geo_uri')
+ .attr('href', map.getGeoUri(marker))
+ .html(map.getGeoUri(marker));
+
// Image
if (locationFilter.isEnabled()) {
$("#mapnik_image_width").text(Math.round(size.x / scale / 0.00028));
$("#mapnik_image_height").text(Math.round(size.y / scale / 0.00028));
+
+ if (map.getMapBaseLayerId() === 'mapnik') {
+ $('#export-image').show();
+ $('#export-warning').hide();
+ } else {
+ $('#export-image').hide();
+ $('#export-warning').show();
+ }
}
function select() {