aboutsummaryrefslogtreecommitdiffstats
path: root/extlib/leaflet/src/map/ext/Map.Control.js
diff options
context:
space:
mode:
Diffstat (limited to 'extlib/leaflet/src/map/ext/Map.Control.js')
-rw-r--r--extlib/leaflet/src/map/ext/Map.Control.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/extlib/leaflet/src/map/ext/Map.Control.js b/extlib/leaflet/src/map/ext/Map.Control.js
new file mode 100644
index 00000000..46711a82
--- /dev/null
+++ b/extlib/leaflet/src/map/ext/Map.Control.js
@@ -0,0 +1,50 @@
+L.Map.include({
+ addControl: function(control) {
+ control.onAdd(this);
+
+ var pos = control.getPosition(),
+ corner = this._controlCorners[pos],
+ container = control.getContainer();
+
+ L.DomUtil.addClass(container, 'leaflet-control');
+
+ if (pos.indexOf('bottom') != -1) {
+ corner.insertBefore(container, corner.firstChild);
+ } else {
+ corner.appendChild(container);
+ }
+ return this;
+ },
+
+ removeControl: function(control) {
+ var pos = control.getPosition(),
+ corner = this._controlCorners[pos],
+ container = control.getContainer();
+
+ corner.removeChild(container);
+
+ if (control.onRemove) {
+ control.onRemove(this);
+ }
+ return this;
+ },
+
+ _initControlPos: function() {
+ var corners = this._controlCorners = {},
+ classPart = 'leaflet-',
+ top = classPart + 'top',
+ bottom = classPart + 'bottom',
+ left = classPart + 'left',
+ right = classPart + 'right',
+ controlContainer = L.DomUtil.create('div', classPart + 'control-container', this._container);
+
+ if (L.Browser.mobileWebkit) {
+ controlContainer.className += ' ' + classPart + 'big-buttons';
+ }
+
+ corners.topLeft = L.DomUtil.create('div', top + ' ' + left, controlContainer);
+ corners.topRight = L.DomUtil.create('div', top + ' ' + right, controlContainer);
+ corners.bottomLeft = L.DomUtil.create('div', bottom + ' ' + left, controlContainer);
+ corners.bottomRight = L.DomUtil.create('div', bottom + ' ' + right, controlContainer);
+ }
+}); \ No newline at end of file