update other libs

This commit is contained in:
Norbert Renner 2014-05-14 16:01:20 +02:00
parent e4ae9b5533
commit aa1e051cfd
31 changed files with 679 additions and 719 deletions

View file

@ -1,3 +1,4 @@
/* global console: true */
L.Control.Distance = L.Control.extend({
options: {
position: 'topleft',
@ -95,15 +96,15 @@ L.Control.Distance = L.Control.extend({
},
_update: function(e) {
console.info("Update");
console.info('Update');
this._text.textContent = this._d2txt(this._distance_calc());
},
_d2txt: function(d) {
if (d < 2000)
return d.toFixed(0) + " m";
return d.toFixed(0) + ' m';
else
return (d/1000).toFixed(1) + " km";
return (d/1000).toFixed(1) + ' km';
},
_distance_calc: function(e) {

View file

@ -3,7 +3,7 @@
*/
L.Control.Layers.include({
_loadScripts: function(scripts, cb, args) {
if (!scripts || scripts.length == 0)
if (!scripts || scripts.length === 0)
return cb(args);
var _this = this, s = scripts.pop(), c;
c = L.Control.Layers._script_cache[s];
@ -17,13 +17,13 @@ L.Control.Layers.include({
var i = 0;
for (i = 0; i < c.wait.length; i++)
c.wait[i]();
}
};
c.e = script;
document.getElementsByTagName('head')[0].appendChild(script);
}
function _cb() { _this._loadScripts(scripts, cb, args); }
c.wait.push(_cb);
if (c.e.readyState == "completed")
if (c.e.readyState === 'completed')
_cb();
L.Control.Layers._script_cache[s] = c;
},
@ -43,7 +43,7 @@ L.Control.Layers.include({
loadLayer: function(name, deflt) {
var _this = this, l = this._layer_defs[name];
l['default'] = deflt;
this._loadScripts(l.js.reverse(), function(l) {_this._loadLayer(l)}, l);
this._loadScripts(l.js.reverse(), function(l) {_this._loadLayer(l);}, l);
},
_loadLayer: function(l) {

View file

@ -44,20 +44,20 @@ L.Control.Layers.include({
if (!this._layers.hasOwnProperty(i))
continue;
obj = this._layers[i];
if (!obj.overlay && obj.name == name)
if (!obj.overlay && obj.name === name)
layer = obj.layer;
}
if (!layer || this._map.hasLayer(layer))
return;
for (var i in this._layers) {
if (!this._layers.hasOwnProperty(i))
for (var j in this._layers) {
if (!this._layers.hasOwnProperty(j))
continue;
obj = this._layers[i];
obj = this._layers[j];
if (!obj.overlay && this._map.hasLayer(obj.layer))
this._map.removeLayer(obj.layer)
this._map.removeLayer(obj.layer);
}
this._map.addLayer(layer)
this._map.addLayer(layer);
this._update();
},

View file

@ -16,7 +16,7 @@ L.Control.Permalink.include({
//console.info("onAdd::line", e);
if (!this.options.line) return;
this.options.line.on('edit', this._update_line, this);
this._update_line()
this._update_line();
},
_update_line: function() {
@ -27,7 +27,7 @@ L.Control.Permalink.include({
if (!coords.length)
return this._update({line: null});
for (var i in coords)
text.push(coords[i].lat.toFixed(4) + "," + coords[i].lng.toFixed(4))
text.push(coords[i].lat.toFixed(4) + ',' + coords[i].lng.toFixed(4));
this._update({line: text.join(';')});
},
@ -38,7 +38,7 @@ L.Control.Permalink.include({
var coords = [], text = p.line.split(';');
for (var i in text) {
var ll = text[i].split(',');
if (ll.length != 2) continue;
if (ll.length !== 2) continue;
coords.push(new L.LatLng(ll[0], ll[1]));
}
if (!coords.length) return;

View file

@ -18,13 +18,13 @@ L.Control.Permalink.include({
var p = e.params;
//if (!this.options.useMarker) return;
if (this._marker) return;
if (p.marker != 1) return;
if (p.marker !== 1) return;
if (p.mlat !== undefined && p.mlon !== undefined)
return this._update({mlat: null, mlon: null,
lat: p.mlat, lon: p.mlon, marker: 1});
this._marker = new L.Marker(new L.LatLng(p.lat, p.lon),
this.options.markerOptions);
this._marker.bindPopup("<a href='" + this._update_href() + "'>" + this.options.text + "</a>");
this._marker.bindPopup('<a href="' + this._update_href() + '">' + this.options.text + '</a>');
this._map.addLayer(this._marker);
this._update({marker: null});
}

View file

@ -2,19 +2,19 @@ L.Control.Permalink = L.Control.extend({
includes: L.Mixin.Events,
options: {
position: "bottomleft",
position: 'bottomleft',
useAnchor: true,
useLocation: false,
text: "Permalink"
text: 'Permalink'
},
initialize: function(options) {
L.Util.setOptions(this, options);
this._params = {};
this._set_urlvars();
this.on("update", this._set_center, this);
this.on('update', this._set_center, this);
for (var i in this) {
if (typeof(i) === "string" && i.indexOf('initialize_') == 0)
if (typeof(i) === 'string' && i.indexOf('initialize_') === 0)
this[i]();
}
},
@ -24,10 +24,10 @@ L.Control.Permalink = L.Control.extend({
L.DomEvent.disableClickPropagation(this._container);
this._map = map;
this._href = L.DomUtil.create('a', null, this._container);
this._href.innerHTML = this.options.text
this._href.innerHTML = this.options.text;
map.on('moveend', this._update_center, this);
this.fire("update", {params: this._params})
this.fire('update', {params: this._params});
this._update_center();
if (this.options.useAnchor && 'onhashchange' in window) {
@ -35,7 +35,7 @@ L.Control.Permalink = L.Control.extend({
window.onhashchange = function() {
_this._set_urlvars();
if (fn) return fn();
}
};
}
this.fire('add', {map: map});
@ -66,26 +66,26 @@ L.Control.Permalink = L.Control.extend({
var ne = bounds.getNorthEast(), sw = bounds.getSouthWest();
var round = function (x, p) {
if (p == 0) return x;
shift = 1;
if (p === 0) return x;
var shift = 1;
while (p < 1 && p > -1) {
x *= 10;
p *= 10;
shift *= 10;
}
return Math.floor(x)/shift;
}
};
point.lat = round(point.lat, (ne.lat - sw.lat) / size.y);
point.lng = round(point.lng, (ne.lng - sw.lng) / size.x);
return point;
},
_update: function(obj, source) {
//console.info("Update", obj, this._params);
//console.info('Update', obj, this._params);
for(var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (obj[i] != null && obj[i] != undefined)
this._params[i] = obj[i]
if (obj[i] !== null && obj[i] !== undefined)
this._params[i] = obj[i];
else
delete this._params[i];
}
@ -105,7 +105,7 @@ L.Control.Permalink = L.Control.extend({
function eq(x, y) {
for(var i in x)
if (x.hasOwnProperty(i) && x[i] != y[i])
if (x.hasOwnProperty(i) && x[i] !== y[i])
return false;
return true;
}
@ -114,16 +114,16 @@ L.Control.Permalink = L.Control.extend({
return;
this._params = p;
this._update_href();
this.fire("update", {params: this._params})
this.fire('update', {params: this._params});
},
_set_center: function(e)
{
//console.info("Update center", e);
//console.info('Update center', e);
var params = e.params;
if (params.zoom == undefined ||
params.lat == undefined ||
params.lon == undefined) return;
if (params.zoom === undefined ||
params.lat === undefined ||
params.lon === undefined) return;
this._map.setView(new L.LatLng(params.lat, params.lon), params.zoom);
}
});
@ -131,13 +131,13 @@ L.Control.Permalink = L.Control.extend({
L.UrlUtil = {
queryParse: function(s) {
var p = {};
var sep = "&";
if (s.search("&amp;") != -1)
sep = "&amp;";
var sep = '&';
if (s.search('&amp;') !== -1)
sep = '&amp;';
var params = s.split(sep);
for(var i = 0; i < params.length; i++) {
var tmp = params[i].split('=');
if (tmp.length != 2) continue;
if (tmp.length !== 2) continue;
p[tmp[0]] = decodeURI(tmp[1]);
}
return p;
@ -150,7 +150,7 @@ L.UrlUtil = {
return href.slice(idx+1);
},
hash: function() { return window.location.hash.slice(1) },
hash: function() { return window.location.hash.slice(1); },
updateParamString: function (q, obj) {
var p = L.UrlUtil.queryParse(q);

View file

@ -1,118 +0,0 @@
L.Control.Scale = L.Control.extend({
options: {
position: "bottomleft",
useCanvas: null,
width: 100
},
initialize: function(options) {
L.Util.setOptions(this, options);
},
onAdd: function(map) {
this._map = map;
this._container = L.DomUtil.create('div', 'leaflet-control-attribution leaflet-control-scale');
this._label = L.DomUtil.create('div', null, this._container);
this._label.style.textAlign = 'right';
if (!this.options.useCanvas && this.options.useCanvas != false)
this.options.useCanvas = "HTMLCanvasElement" in window;
if (this.options.useCanvas) {
this._canvas = L.DomUtil.create('canvas', 'leaflet-canvas-marker', this._container);
} else {
this._canvas = L.DomUtil.create('div', null, this._container);
this._canvas.style.border = "1px solid black";
this._canvas.innerHTML = "&nbsp;";
//this._canvas.style.padding = "none";
//this._canvas.style.margin = "none";
//this._canvas.style.width = 100;
//this._canvas.style.height = 5;
}
map.on('zoomend', this._update, this);
this._update();
return this._container;
},
onRemove: function(map) {
map._container.removeChild(this._label);
map._container.removeChild(this._canvas);
map.off('zoomend', this._reset);
},
getPosition: function() {
return this.options.position;
},
getContainer: function() {
return this._container;
},
_update: function() {
if (!this._map) return;
var size = this.options.width;
var b = this._map.getBounds(), pb = this._map.getPixelBounds();
var width = this._deg_length(b.getNorthEast(), b.getNorthWest());
width = size * width / (pb.max.x - pb.min.x);
var iw = this._round(width);
if (iw >= 1)
this._label.innerHTML = iw + " km";
else
this._label.innerHTML = Math.round(1000 * iw) + " m";
size = size * iw / width;
if (this.options.useCanvas) {
this._canvas.width = size+1;
this._canvas.height = 10+1;
var ctx = this._canvas.getContext("2d");
this._draw(ctx, size, 5);
} else {
this._canvas.style.width = size;
this._canvas.style.height = 5;
}
},
_draw: function(ctx, width, height) {
ctx.beginPath();
ctx.fillStyle = ctx.strokeStyle = '#000';
ctx.lineWidth = 0.5;
ctx.strokeRect(0, height, width/2, height);
ctx.fillRect(0, height, width/2, height);
ctx.strokeRect(width/2, height, width/2, height);
ctx.moveTo(0, 0);
ctx.lineTo(0, height);
ctx.moveTo(width/2, 0);
ctx.lineTo(width/2, height);
ctx.moveTo(width, 0);
ctx.lineTo(width, height);
ctx.stroke();
},
_deg_length : function(p1, p2) {
var deglen = 111.12 * L.LatLng.RAD_TO_DEG;
var p1lat = p1.lat * L.LatLng.DEG_TO_RAD,
p1lng = p1.lng * L.LatLng.DEG_TO_RAD,
p2lat = p2.lat * L.LatLng.DEG_TO_RAD,
p2lng = p2.lng * L.LatLng.DEG_TO_RAD;
return deglen * Math.acos(Math.sin(p1lat) * Math.sin(p2lat) +
Math.cos(p1lat) * Math.cos(p2lat) * Math.cos(p2lng - p1lng));
},
_round : function (x) {
var div = 1;
while (div < x) div *= 10;
while (div > x) div /= 10;
var s = div;
while (s < x) s += div;
if (s > 5 * div) s = 10 * div;
return s;
}
});