Implement long URL option, toggling, and labeling for share
This commit is contained in:
parent
6f102f2726
commit
9172695f7f
5 changed files with 45 additions and 5 deletions
|
@ -120,6 +120,18 @@ function getShortUrl(map) {
|
||||||
makeShortCode(map);
|
makeShortCode(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getUrl(map) {
|
||||||
|
var center = map.getCenter(),
|
||||||
|
zoom = map.getZoom();
|
||||||
|
return (window.location.hostname.match(/^www\.openstreetmap\.org/i) ?
|
||||||
|
'http://openstreetmap.org/?' : '/?') +
|
||||||
|
querystring.stringify({
|
||||||
|
lat: center.lat,
|
||||||
|
lon: center.lng,
|
||||||
|
zoom: zoom
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function minZoomAlert() {
|
function minZoomAlert() {
|
||||||
alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false;
|
alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,8 +81,10 @@ $(document).ready(function () {
|
||||||
}).addTo(map);
|
}).addTo(map);
|
||||||
|
|
||||||
L.OSM.share({
|
L.OSM.share({
|
||||||
getUrl: getShortUrl,
|
getShortUrl: getShortUrl,
|
||||||
sidebar: sidebar
|
getUrl: getUrl,
|
||||||
|
sidebar: sidebar,
|
||||||
|
short: true
|
||||||
}).addTo(map);
|
}).addTo(map);
|
||||||
|
|
||||||
L.control.scale()
|
L.control.scale()
|
||||||
|
|
|
@ -89,7 +89,7 @@ L.OSM.layers = function(options) {
|
||||||
|
|
||||||
map.whenReady(function() {
|
map.whenReady(function() {
|
||||||
var miniMap = L.map(div[0], {attributionControl: false, zoomControl: false})
|
var miniMap = L.map(div[0], {attributionControl: false, zoomControl: false})
|
||||||
.addLayer(new layer.constructor);
|
.addLayer(new layer.constructor());
|
||||||
|
|
||||||
miniMap.dragging.disable();
|
miniMap.dragging.disable();
|
||||||
miniMap.touchZoom.disable();
|
miniMap.touchZoom.disable();
|
||||||
|
|
|
@ -20,9 +20,31 @@ L.OSM.share = function (options) {
|
||||||
.text(I18n.t('javascripts.share.title'))
|
.text(I18n.t('javascripts.share.title'))
|
||||||
.appendTo($ui);
|
.appendTo($ui);
|
||||||
|
|
||||||
var $input = $('<input>')
|
var $share_link = $('<div></div>')
|
||||||
.appendTo($ui);
|
.appendTo($ui);
|
||||||
|
|
||||||
|
var $title = $('<h3></h3>')
|
||||||
|
.text(I18n.t('javascripts.share.link'))
|
||||||
|
.appendTo($share_link);
|
||||||
|
|
||||||
|
var $short_url_input = $('<input />')
|
||||||
|
.attr('id', 'short_url')
|
||||||
|
.attr('type', 'checkbox')
|
||||||
|
.prop('checked', 'checked')
|
||||||
|
.appendTo($share_link)
|
||||||
|
.bind('change', function() {
|
||||||
|
options.short = $(this).prop('checked');
|
||||||
|
update();
|
||||||
|
});
|
||||||
|
|
||||||
|
var $short_url_label = $('<label></label>')
|
||||||
|
.text(I18n.t('javascripts.share.short_url'))
|
||||||
|
.attr('for', 'short_url')
|
||||||
|
.appendTo($share_link);
|
||||||
|
|
||||||
|
var $input = $('<input />')
|
||||||
|
.appendTo($share_link);
|
||||||
|
|
||||||
map.on('moveend layeradd layerremove', update);
|
map.on('moveend layeradd layerremove', update);
|
||||||
|
|
||||||
options.sidebar.addPane($ui);
|
options.sidebar.addPane($ui);
|
||||||
|
@ -36,7 +58,9 @@ L.OSM.share = function (options) {
|
||||||
function update() {
|
function update() {
|
||||||
var center = map.getCenter().wrap();
|
var center = map.getCenter().wrap();
|
||||||
var layers = getMapLayers(map);
|
var layers = getMapLayers(map);
|
||||||
$input.val(options.getUrl(map));
|
$input.val(
|
||||||
|
options.short ? options.getShortUrl(map) : options.getUrl(map)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $container[0];
|
return $container[0];
|
||||||
|
|
|
@ -2040,6 +2040,8 @@ en:
|
||||||
share:
|
share:
|
||||||
title: "Share"
|
title: "Share"
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
|
link: "Link"
|
||||||
|
short_url: "Short URL"
|
||||||
key:
|
key:
|
||||||
title: "Map Key"
|
title: "Map Key"
|
||||||
tooltip: "Key for the map"
|
tooltip: "Key for the map"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue