Changeset 77121 in spip-zone


Ignore:
Timestamp:
Oct 10, 2013, 9:51:18 AM (8 years ago)
Author:
brunobergot@…
Message:

Version 4.9.8 : maj des libs + ajout d'une nouvelle couche (OSM H.O.T.) + le fullscreen fonctionne aussi sous ie maintenant (pseudo fullscreen)

Location:
_plugins_/gis/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/trunk/gis_options.php

    r75297 r77121  
    1919                'nom' => 'OpenStreetMap DE',
    2020                'layer' => 'L.tileLayer.provider("OpenStreetMap.DE")'
     21        ),
     22        'openstreetmap_hot' => array(
     23                'nom' => 'OpenStreetMap H.O.T.',
     24                'layer' => 'L.tileLayer.provider("OpenStreetMap.HOT")'
    2125        ),
    2226        'google_roadmap' => array(
  • _plugins_/gis/trunk/lib/leaflet/plugins/Bing.js

    r75297 r77121  
    6565                this._url = r.imageUrl;
    6666                this._providers = [];
    67                 for (var i = 0; i < r.imageryProviders.length; i++) {
    68                         var p = r.imageryProviders[i];
    69                         for (var j = 0; j < p.coverageAreas.length; j++) {
    70                                 var c = p.coverageAreas[j];
    71                                 var coverage = {zoomMin: c.zoomMin, zoomMax: c.zoomMax, active: false};
    72                                 var bounds = new L.LatLngBounds(
    73                                                 new L.LatLng(c.bbox[0]+0.01, c.bbox[1]+0.01),
    74                                                 new L.LatLng(c.bbox[2]-0.01, c.bbox[3]-0.01)
    75                                 );
    76                                 coverage.bounds = bounds;
    77                                 coverage.attrib = p.attribution;
    78                                 this._providers.push(coverage);
     67                if (r.imageryProviders) {
     68                        for (var i = 0; i < r.imageryProviders.length; i++) {
     69                                var p = r.imageryProviders[i];
     70                                for (var j = 0; j < p.coverageAreas.length; j++) {
     71                                        var c = p.coverageAreas[j];
     72                                        var coverage = {zoomMin: c.zoomMin, zoomMax: c.zoomMax, active: false};
     73                                        var bounds = new L.LatLngBounds(
     74                                                        new L.LatLng(c.bbox[0]+0.01, c.bbox[1]+0.01),
     75                                                        new L.LatLng(c.bbox[2]-0.01, c.bbox[3]-0.01)
     76                                        );
     77                                        coverage.bounds = bounds;
     78                                        coverage.attrib = p.attribution;
     79                                        this._providers.push(coverage);
     80                                }
    7981                        }
    8082                }
  • _plugins_/gis/trunk/lib/leaflet/plugins/Control.FullScreen.js

    r75297 r77121  
    77       
    88        onAdd: function (map) {
    9                 // Do nothing if we can't
    10                 if (!fullScreenApi.supportsFullScreen)
    11                         return map.zoomControl ? map.zoomControl._container : L.DomUtil.create('div', '');
    12                
    139                var className = 'leaflet-control-zoom-fullscreen', container;
    1410               
    15                 if(map.zoomControl && !this.options.forceSeparateButton) {
     11                if (map.zoomControl && !this.options.forceSeparateButton) {
    1612                        container = map.zoomControl._container;
    1713                } else {
     
    4945        toogleFullScreen: function () {
    5046                this._exitFired = false;
    51                 if (fullScreenApi.supportsFullScreen){
    52                         var container = this._container;
    53                         if(fullScreenApi.isFullScreen(container)){
     47                var container = this._container;
     48                if (this._isFullscreen) {
     49                        if (fullScreenApi.supportsFullScreen) {
    5450                                fullScreenApi.cancelFullScreen(container);
    55                                 this.invalidateSize();
    56                                 this.fire('exitFullscreen');
    57                                 this._exitFired = true;
     51                        } else {
     52                                L.DomUtil.removeClass(container, 'leaflet-pseudo-fullscreen');
    5853                        }
    59                         else {
     54                        this.invalidateSize();
     55                        this.fire('exitFullscreen');
     56                        this._exitFired = true;
     57                        this._isFullscreen = false;
     58                }
     59                else {
     60                        if (fullScreenApi.supportsFullScreen) {
    6061                                fullScreenApi.requestFullScreen(container);
    61                                 this.invalidateSize();
    62                                 this.fire('enterFullscreen');
     62                        } else {
     63                                L.DomUtil.addClass(container, 'leaflet-pseudo-fullscreen');
    6364                        }
     65                        this.invalidateSize();
     66                        this.fire('enterFullscreen');
     67                        this._isFullscreen = true;
    6468                }
    6569        },
    6670       
    6771        _handleEscKey: function () {
    68                 if(!fullScreenApi.isFullScreen(this) && !this._exitFired){
     72                if (!fullScreenApi.isFullScreen(this) && !this._exitFired) {
    6973                        this.fire('exitFullscreen');
    7074                        this._exitFired = true;
     
    136140                }
    137141                fullScreenApi.requestFullScreen = function(el) {
    138                         return (this.prefix === '') ? el.requestFullscreen() : el[this.prefix + 'RequestFullScreen']();
     142                        return (this.prefix === '') ? el.requestFullscreen() : el[this.prefix + 'RequestFullScreen'](Element.ALLOW_KEYBOARD_INPUT);
    139143                }
    140144                fullScreenApi.cancelFullScreen = function(el) {
  • _plugins_/gis/trunk/lib/leaflet/plugins/Control.MiniMap.js

    r75297 r77121  
    4242                        scrollWheelZoom: !this.options.zoomLevelFixed,
    4343                        doubleClickZoom: !this.options.zoomLevelFixed,
    44                         boxZoom: !this.options.zoomLevelFixed
     44                        boxZoom: !this.options.zoomLevelFixed,
     45                        crs: map.options.crs
    4546                });
    4647
     
    202203                        if (fromMaintoMini)
    203204                                return this._mainMap.getZoom() + this.options.zoomLevelOffset;
    204                         else
    205                                 return this._miniMap.getZoom() - this.options.zoomLevelOffset;
     205                        else {
     206                                var currentDiff = this._miniMap.getZoom() - this._mainMap.getZoom();
     207                                var proposedZoom = this._miniMap.getZoom() - this.options.zoomLevelOffset;
     208                                var toRet;
     209                               
     210                                if (currentDiff > this.options.zoomLevelOffset && this._mainMap.getZoom() < this._miniMap.getMinZoom() - this.options.zoomLevelOffset) {
     211                                        //This means the miniMap is zoomed out to the minimum zoom level and can't zoom any more.
     212                                        if (this._miniMap.getZoom() > this._lastMiniMapZoom) {
     213                                                //This means the user is trying to zoom in by using the minimap, zoom the main map.
     214                                                toRet = this._mainMap.getZoom() + 1;
     215                                                //Also we cheat and zoom the minimap out again to keep it visually consistent.
     216                                                this._miniMap.setZoom(this._miniMap.getZoom() -1);
     217                                        } else {
     218                                                //Either the user is trying to zoom out past the mini map's min zoom or has just panned using it, we can't tell the difference.
     219                                                //Therefore, we ignore it!
     220                                                toRet = this._mainMap.getZoom();
     221                                        }
     222                                } else {
     223                                        //This is what happens in the majority of cases, and always if you configure the min levels + offset in a sane fashion.
     224                                        toRet = proposedZoom;
     225                                }
     226                                this._lastMiniMapZoom = this._miniMap.getZoom();
     227                                return toRet;
     228                        }
    206229                } else {
    207230                        if (fromMaintoMini)
  • _plugins_/gis/trunk/lib/leaflet/plugins/leaflet-plugins.css

    r75297 r77121  
    11/* L.Control.FullScreen */
    2 .leaflet-control-zoom-fullscreen { background-image: url(images/icon-fullscreen.png); }
    3 .leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; }
     2.leaflet-control-zoom-fullscreen { background-image: url(icon-fullscreen.png); }
     3.leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
     4.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
    45
    56/* MiniMap Plugin */
    6 .leaflet-control-minimap { border: solid rgba(255, 255, 255, 0.7) 3px; box-shadow: 0 1px 7px #999; background: #f8f8f9; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
    7 .leaflet-control-minimap a { background-color: rgba(255, 255, 255, 0.75); background-position: 1px 2px; background-repeat: no-repeat; display: block; outline: none; z-index: 99999; }
     7.leaflet-control-minimap { border: solid rgba(255, 255, 255, 1.0) 3px; box-shadow: 0 1px 7px #999; background: #f8f8f9; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; transition: all .2s; }
     8.leaflet-control-minimap a { background-color: rgba(255, 255, 255, 1.0); background-position: 1px 2px; background-repeat: no-repeat; display: block; outline: none; z-index: 99999; transition: all .2s; }
    89.leaflet-control-minimap a:hover,
    9 .leaflet-control-minimap a:focus { background-color: rgba(255, 255, 255, 0.75); }
    10 .leaflet-control-minimap a.minimized { background-position: 1px -18px }
    11 .leaflet-control-minimap-toggle-display { background-image: url("images/toggle.png"); border-radius: 4px 4px 4px 4px; height: 19px; width: 19px; position: absolute; bottom: 0; right: 0; }
     10.leaflet-control-minimap a:focus { background-color: rgba(255, 255, 255, 1.0); }
     11.leaflet-control-minimap a.minimized { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
     12.leaflet-control-minimap-toggle-display { background-image: url("images/toggle.png"); border-radius: 2px 0px 2px 0px; height: 19px; width: 19px; position: absolute; bottom: 0; right: 0; }
     13
  • _plugins_/gis/trunk/lib/leaflet/plugins/leaflet-providers.js

    r75297 r77121  
    11(function () {
     2        'use strict';
     3
    24        L.TileLayer.Provider = L.TileLayer.extend({
    35                initialize: function (arg, options) {
     
    1012
    1113                        if (!providers[providerName]) {
    12                                 throw "No such provider (" + providerName + ")";
     14                                throw 'No such provider (' + providerName + ')';
    1315                        }
    1416
     
    2123                        if (variantName && 'variants' in providers[providerName]) {
    2224                                if (!(variantName in providers[providerName].variants)) {
    23                                         throw "No such name in provider (" + variantName + ")";
     25                                        throw 'No such name in provider (' + variantName + ')';
    2426                                }
    2527                                var variant = providers[providerName].variants[variantName];
     
    3234                        }
    3335
    34                         // replace attribution placeholders with their values from toplevel provider attribution.
    35                         var attribution = provider.options.attribution;
    36                         if (attribution.indexOf('{attribution.') != -1) {
    37                                 provider.options.attribution = attribution.replace(/\{attribution.(\w*)\}/,
    38                                         function(match, attributionName){
    39                                                 return providers[attributionName].options.attribution;
    40                                         });
    41                         }
     36                        // replace attribution placeholders with their values from toplevel provider attribution,
     37                        // recursively
     38                        var attributionReplacer = function (attr) {
     39                                if (attr.indexOf('{attribution.') === -1) {
     40                                        return attr;
     41                                }
     42                                return attr.replace(/\{attribution.(\w*)\}/,
     43                                        function (match, attributionName) {
     44                                                return attributionReplacer(providers[attributionName].options.attribution);
     45                                        }
     46                                );
     47                        };
     48                        provider.options.attribution = attributionReplacer(provider.options.attribution);
     49
    4250                        // Compute final options combining provider options with any user overrides
    43                         var layer_opts = L.Util.extend({}, provider.options, options);
    44                         L.TileLayer.prototype.initialize.call(this, provider.url, layer_opts);
     51                        var layerOpts = L.Util.extend({}, provider.options, options);
     52                        L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts);
    4553                }
    4654        });
     
    5058         * see http://leafletjs.com/reference.html#tilelayer for options in the options map.
    5159         */
     60
     61        //jshint maxlen:220
    5262        L.TileLayer.Provider.providers = {
    5363                OpenStreetMap: {
    5464                        url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
    5565                        options: {
    56                                 attribution: '&copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
     66                                attribution:
     67                                        '&copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
     68                                        '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
    5769                        },
    5870                        variants: {
     
    6375                                DE: {
    6476                                        url: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png'
     77                                },
     78                                HOT: {
     79                                        url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
     80                                        options: {
     81                                                attribution: '{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>'
     82                                        }
    6583                                }
    6684                        }
     
    6987                        url: 'http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png',
    7088                        options: {
    71                                 attribution: '&copy; <a href="http://www.opencyclemap.org">OpenCycleMap</a>, <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
     89                                attribution:
     90                                        '&copy; <a href="http://www.opencyclemap.org">OpenCycleMap</a>, {attribution.OpenStreetMap}'
     91                        }
     92                },
     93                OpenSeaMap: {
     94                        url: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png',
     95                        options: {
     96                                attribution: 'Map data: &copy; <a href="http://www.openseamap.org">OpenSeaMap</a> contributors'
    7297                        }
    7398                },
     
    104129                        url: 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
    105130                        options: {
    106                                 attribution: 'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> &mdash; Map data {attribution.OpenStreetMap}',
     131                                attribution:
     132                                        'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> &mdash; ' +
     133                                        'Map data {attribution.OpenStreetMap}',
    107134                                subdomains: '1234'
    108135                        },
    109136                        variants: {
    110137                                OSM: {},
    111                                 Aerial:{
     138                                Aerial: {
    112139                                        url: 'http://oatile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg',
    113140                                        options: {
     
    120147                },
    121148                MapBox: {
    122                         url: function(id) {
     149                        url: function (id) {
    123150                                return 'http://{s}.tiles.mapbox.com/v3/' + id + '/{z}/{x}/{y}.png';
    124151                        },
    125152                        options: {
    126                                 attribution: 'Imagery from <a href="http://mapbox.com/about/maps/">MapBox</a> &mdash; Map data {attribution.OpenStreetMap}',
     153                                attribution:
     154                                        'Imagery from <a href="http://mapbox.com/about/maps/">MapBox</a> &mdash; ' +
     155                                        'Map data {attribution.OpenStreetMap}',
    127156                                subdomains: 'abcd'
    128157                        }
     
    132161                        options: {
    133162                                attribution:
    134                                         'Map tiles by <a href="http://stamen.com">Stamen Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> &mdash; ' +
     163                                        'Map tiles by <a href="http://stamen.com">Stamen Design</a>, ' +
     164                                        '<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> &mdash; ' +
    135165                                        'Map data {attribution.OpenStreetMap}',
    136166                                subdomains: 'abcd',
     
    162192                                        }
    163193                                },
     194                                TerrainBackground: {
     195                                        url: 'http://{s}.tile.stamen.com/terrain-background/{z}/{x}/{y}.jpg',
     196                                        options: {
     197                                                minZoom: 4,
     198                                                maxZoom: 18
     199                                        }
     200                                },
    164201                                Watercolor: {
    165202                                        url: 'http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg',
     
    179216                                WorldStreetMap: {
    180217                                        options: {
    181                                                 attribution: '{attribution.Esri} &mdash; Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'
     218                                                attribution:
     219                                                        '{attribution.Esri} &mdash; ' +
     220                                                        'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'
    182221                                        }
    183222                                },
     
    193232                                        url: 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}',
    194233                                        options: {
    195                                                 attribution: '{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'
     234                                                attribution:
     235                                                        '{attribution.Esri} &mdash; ' +
     236                                                        'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'
    196237                                        }
    197238                                },
     
    199240                                        url: 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
    200241                                        options: {
    201                                                 attribution: '{attribution.Esri} &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'
     242                                                attribution:
     243                                                        '{attribution.Esri} &mdash; ' +
     244                                                        'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'
    202245                                        }
    203246                                },
     
    206249                                        options: {
    207250                                                maxZoom: 13,
    208                                                 attribution: '{attribution.Esri} &mdash; Source: USGS, Esri, TANA, DeLorme, and NPS'
     251                                                attribution:
     252                                                        '{attribution.Esri} &mdash; ' +
     253                                                        'Source: USGS, Esri, TANA, DeLorme, and NPS'
    209254                                        }
    210255                                },
     
    325370                                all: {},
    326371                                basemap: {
    327                                         url: 'http://a{s}.acetate.geoiq.com/tiles/acetate-simple/{z}/{x}/{y}.png'
     372                                        url: 'http://a{s}.acetate.geoiq.com/tiles/acetate-base/{z}/{x}/{y}.png'
    328373                                },
    329374                                terrain: {
     
    343388                                }
    344389                        }
     390                },
     391                CloudMade: {
     392                        url: 'http://{s}.tile.cloudmade.com/{apiKey}/{styleID}/256/{z}/{x}/{y}.png',
     393                        options: {
     394                                attribution:
     395                                        'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
     396                                        '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
     397                                        'Map tile imagery © <a href="http://cloudmade.com">CloudMade</a>',
     398                                minZoom: 0,
     399                                apiKey: 'abc', // Sign up for an API key at http://cloudmade.com/ - first 500,000 tile requests are free
     400                                styleID: '1'
     401                        },
     402                        variants: {
     403                                standardResolution: {
     404                                        maxZoom: 18
     405                                },
     406                                highResolution: {
     407                                        url: 'http://{s}.tile.cloudmade.com/{apiKey}/{styleID}@2x/256/{z}/{x}/{y}.png',
     408                                        maxZoom: 19
     409                                }
     410                        }
    345411                }
    346412        };
     413
     414        L.tileLayer.provider = function (provider, options) {
     415                return new L.TileLayer.Provider(provider, options);
     416        };
     417
     418        L.Control.Layers.Provided = L.Control.Layers.extend({
     419                initialize: function (base, overlay, options) {
     420                        var first;
     421
     422                        var labelFormatter = function (label) {
     423                                return label.replace(/\./g, ': ').replace(/([a-z])([A-Z])/g, '$1 $2');
     424                        };
     425
     426                        if (base.length) {
     427                                (function () {
     428                                        var out = {},
     429                                            len = base.length,
     430                                            i = 0;
     431
     432                                        while (i < len) {
     433                                                if (typeof base[i] === 'string') {
     434                                                        if (i === 0) {
     435                                                                first = L.tileLayer.provider(base[0]);
     436                                                                out[labelFormatter(base[i])] = first;
     437                                                        } else {
     438                                                                out[labelFormatter(base[i])] = L.tileLayer.provider(base[i]);
     439                                                        }
     440                                                }
     441                                                i++;
     442                                        }
     443                                        base = out;
     444                                }());
     445                                this._first = first;
     446                        }
     447
     448                        if (overlay && overlay.length) {
     449                                (function () {
     450                                        var out = {},
     451                                            len = overlay.length,
     452                                            i = 0;
     453
     454                                        while (i < len) {
     455                                                if (typeof base[i] === 'string') {
     456                                                        out[labelFormatter(overlay[i])] = L.tileLayer.provider(overlay[i]);
     457                                                }
     458                                                i++;
     459                                        }
     460                                        overlay = out;
     461                                }());
     462                        }
     463                        L.Control.Layers.prototype.initialize.call(this, base, overlay, options);
     464                },
     465                onAdd: function (map) {
     466                        this._first.addTo(map);
     467                        return L.Control.Layers.prototype.onAdd.call(this, map);
     468                }
     469        });
     470
     471        L.control.layers.provided = function (baseLayers, overlays, options) {
     472                return new L.Control.Layers.Provided(baseLayers, overlays, options);
     473        };
    347474}());
    348 
    349 L.tileLayer.provider = function(provider, options){
    350         return new L.TileLayer.Provider(provider, options);
    351 };
    352 
    353 L.Control.Layers.Provided = L.Control.Layers.extend({
    354                 initialize: function(base, overlay, options){
    355                                 var first;
    356                                 if(base.length){
    357                                                 (function(){
    358                                                                 var out = {},
    359                                                                 len = base.length,
    360                                                                 i=0;
    361                                                                 while(i<len){
    362                                                                                 if (i === 0) {
    363                                                                                                 first = L.tileLayer.provider(base[0]);
    364                                                                                                 out[base[i].replace(/\./g,": ").replace(/([a-z])([A-Z])/g,"$1 $2")] = first;
    365                                                                                 } else {
    366                                                                                                 out[base[i].replace(/\./g,": ").replace(/([a-z])([A-Z])/g,"$1 $2")] = L.tileLayer.provider(base[i]);
    367                                                                                 }
    368                                                                                 i++;
    369                                                                 }
    370                                                                 base = out;
    371                                                 }());
    372                                 this._first = first;
    373                                 }
    374                                 if(overlay && overlay.length){
    375                                                 (function(){
    376                                                                 var out = {},
    377                                                                 len = overlay.length,
    378                                                                 i=0;
    379                                                                 while(i<len){
    380                                                                                 out[overlay[i].replace(/\./g,": ").replace(/([a-z])([A-Z])/g,"$1 $2")] = L.tileLayer.provider(overlay[i]);
    381                                                                                 i++;
    382                                                                 }
    383                                                                 overlay = out;
    384                                                 }());
    385                                 }
    386                                 L.Control.Layers.prototype.initialize.call(this, base, overlay, options);
    387                 },
    388                 onAdd: function(map){
    389                                 this._first.addTo(map);
    390                                 return L.Control.Layers.prototype.onAdd.call(this, map);
    391                 }
    392 });
    393 L.control.layers.provided = function (baseLayers, overlays, options) {
    394                 return new L.Control.Layers.Provided(baseLayers, overlays, options);
    395 };
  • _plugins_/gis/trunk/lib/leaflet/plugins/leaflet.markercluster-src.js

    r75297 r77121  
    111111        removeLayer: function (layer) {
    112112
     113                if (layer instanceof L.LayerGroup)
     114                {
     115                        var array = [];
     116                        for (var i in layer._layers) {
     117                                array.push(layer._layers[i]);
     118                        }
     119                        return this.removeLayers(array);
     120                }
     121
    113122                //Non point layers
    114123                if (!layer.getLatLng) {
     
    376385                var i, l, layer;
    377386
     387                if (!isFinite(this._map.getMaxZoom())) {
     388                        throw "Map has no maxZoom specified";
     389                }
     390
    378391                this._featureGroup.onAdd(map);
    379392                this._nonPointGroup.onAdd(map);
     
    385398                for (i = 0, l = this._needsRemoving.length; i < l; i++) {
    386399                        layer = this._needsRemoving[i];
    387                         this._removeLayer(layer);
     400                        this._removeLayer(layer, true);
    388401                }
    389402                this._needsRemoving = [];
     
    444457                this._featureGroup.onRemove(map);
    445458                this._nonPointGroup.onRemove(map);
     459
     460                this._featureGroup.clearLayers();
    446461
    447462                this._map = null;
     
    839854                                markers = c._markers,
    840855                                m;
     856
     857                        if (!bounds.contains(startPos)) {
     858                                startPos = null;
     859                        }
    841860
    842861                        if (c._isSingleParent() && previousZoomLevel + 1 === newZoomLevel) { //Immediately add the new child and remove us
     
    16681687                                delete m._preSpiderfyLatlng;
    16691688                        }
    1670                         m.setZIndexOffset(0);
     1689                        if (m.setZIndexOffset) {
     1690                                m.setZIndexOffset(0);
     1691                        }
    16711692
    16721693                        if (m._spiderLeg) {
     
    16921713                        m._preSpiderfyLatlng = m._latlng;
    16931714                        m.setLatLng(newPos);
    1694                         m.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING
     1715                        if (m.setZIndexOffset) {
     1716                                m.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING
     1717                        }
    16951718
    16961719                        fg.addLayer(m);
     
    17261749                        m = childMarkers[i];
    17271750
    1728                         m.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING
    1729                         m.setOpacity(0);
    1730 
    1731                         fg.addLayer(m);
    1732 
    1733                         m._setPos(thisLayerPos);
     1751                        //If it is a marker, add it now and we'll animate it out
     1752                        if (m.setOpacity) {
     1753                                m.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING
     1754                                m.setOpacity(0);
     1755                       
     1756                                fg.addLayer(m);
     1757
     1758                                m._setPos(thisLayerPos);
     1759                        } else {
     1760                                //Vectors just get immediately added
     1761                                fg.addLayer(m);
     1762                        }
    17341763                }
    17351764
     
    17481777                        m._preSpiderfyLatlng = m._latlng;
    17491778                        m.setLatLng(newPos);
    1750                         m.setOpacity(1);
     1779                       
     1780                        if (m.setOpacity) {
     1781                                m.setOpacity(1);
     1782                        }
    17511783
    17521784
     
    18361868                        delete m._preSpiderfyLatlng;
    18371869                        //Hack override the location to be our center
    1838                         m._setPos(thisLayerPos);
    1839 
    1840                         m.setOpacity(0);
     1870                        if (m.setOpacity) {
     1871                                m._setPos(thisLayerPos);
     1872                                m.setOpacity(0);
     1873                        } else {
     1874                                fg.removeLayer(m);
     1875                        }
    18411876
    18421877                        //Animate the spider legs back in
     
    18761911
    18771912
    1878                                 m.setOpacity(1);
    1879                                 m.setZIndexOffset(0);
     1913                                if (m.setOpacity) {
     1914                                        m.setOpacity(1);
     1915                                        m.setZIndexOffset(0);
     1916                                }
    18801917
    18811918                                if (stillThereChildCount > 1) {
  • _plugins_/gis/trunk/lib/leaflet/plugins/leaflet.markercluster.css

    r75297 r77121  
     1.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
     2        -webkit-transition: -webkit-transform 0.2s ease-out, opacity 0.2s ease-in;
     3        -moz-transition: -moz-transform 0.2s ease-out, opacity 0.2s ease-in;
     4        -o-transition: -o-transform 0.2s ease-out, opacity 0.2s ease-in;
     5        transition: transform 0.2s ease-out, opacity 0.2s ease-in;
     6        }
     7
    18.marker-cluster-small {
    29        background-color: rgba(181, 226, 140, 0.6);
     
    3744        line-height: 30px;
    3845        }
    39 
    40 .leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
    41         -webkit-transition: -webkit-transform 0.2s ease-out, opacity 0.2s ease-in;
    42         -moz-transition: -moz-transform 0.2s ease-out, opacity 0.2s ease-in;
    43         -o-transition: -o-transform 0.2s ease-out, opacity 0.2s ease-in;
    44         transition: transform 0.2s ease-out, opacity 0.2s ease-in;
    45         }
  • _plugins_/gis/trunk/lib/leaflet/plugins/leaflet.markercluster.ie.css

    r75297 r77121  
    2020        background-color: rgb(241, 128, 23);
    2121}
    22 
  • _plugins_/gis/trunk/paquet.xml

    r76816 r77121  
    22        prefix="gis"
    33        categorie="divers"
    4         version="4.9.7"
     4        version="4.9.8"
    55        schema="2.0.3"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.