Changeset 96738 in spip-zone


Ignore:
Timestamp:
Apr 21, 2016, 10:34:20 AM (3 years ago)
Author:
kent1@…
Message:

Les points informatifs ont un label inamovible sur la carte

Ils ne sont ni clickables ni sélectionnables, ils n'ont pas de popup, on leur adjoint un label qui est leur titre

Location:
_plugins_/cartes/trunk/squelettes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cartes/trunk/squelettes/css_carte/carte.css

    r96688 r96738  
    9191
    9292body{
    93       margin:0;
    94       font-family:"noto_sans",Helvetica, verdana, sans serif;
     93        margin:0;
     94        font-family:"noto_sans", "Helvetica Neue", verdana, sans serif;
    9595}
    9696
    9797h1{
    98       background:#000;
    99       color:#fff;
    100       border-bottom:.3em solid #d40000;
    101       font-weight:normal;
    102           margin: 0;
    103     padding: .5em 1em;
    104     font-size: 1.5em;
    105     text-align: center;
     98        background:#000;
     99        color:#fff;
     100        border-bottom:.3em solid #d40000;
     101        font-weight:normal;
     102        margin: 0;
     103        padding: .5em 1em;
     104        font-size: 1.5em;
     105        text-align: center;
    106106}
    107107
    108108.texte{
    109       color:#fff;
    110       background:#474746;
     109        color:#fff;
     110        background:#474746;
    111111}
    112112
    113113.texte p{
    114       margin:0;
    115       padding:.7em 1em;
    116       font-size:.9em;
    117       text-align:center;
     114        margin:0;
     115        padding:.7em 1em;
     116        font-size:.9em;
     117        text-align:center;
    118118}
    119119
    120120.map_wrapper{
    121       width:100%;
    122       min-height:350px;
     121        width:100%;
     122        min-height:350px;
    123123}
    124124
    125125.footer{
    126       background:#000;
    127       color:#fff;
    128       padding:.3em;
    129       font-size:.8em;
    130       width:100%;
    131       box-sizing:border-box;
     126        background:#000;
     127        color:#fff;
     128        padding:.3em;
     129        font-size:.8em;
     130        width:100%;
     131        box-sizing:border-box;
    132132}
    133133
    134134.footer a{
    135       color:#fff;
    136       text-decoration:none;
     135        color:#fff;
     136        text-decoration:none;
    137137}
    138138.left{
    139       float:left;
     139        float:left;
    140140}
    141141
    142142.left *{
    143       display:inline-block;
    144       vertical-align:middle;
    145      
     143        display:inline-block;
     144        vertical-align:middle;
    146145}
    147146.left .logo{
    148       margin-right:1em;
     147        margin-right:1em;
    149148}
    150149.right{
    151       float:right;
     150        float:right;
    152151}
    153152
     
    163162.info.leaflet-popup-content-wrapper{
    164163        width:33vw;
     164        font-size:1.2em;
    165165}
    166166
     
    191191        text-align:center;
    192192}
     193
     194.leaflet-label.informatif{
     195        background:none;
     196        border:none;
     197        font: 1.2em/1.5em "noto_sans", "Helvetica Neue", verdana, sans serif;
     198        padding:0;
     199        font-weight:normal;
     200}
     201
     202.leaflet-label.informatif:before, .leaflet-label.informatif:after{
     203        content:none;
     204}
  • _plugins_/cartes/trunk/squelettes/js_carte/carte.js

    r96730 r96738  
    6969                        layer.off('click').on('click',function(e,f){
    7070                                if(layer._popup && layer._popup._content){
    71                                         console.log($.inArray('informatif',layer.feature.role));
    72                                         console.log(layer.feature);
    73                                         if(layer.feature.properties.role && $.inArray('informatif',layer.feature.properties.role) != -1)
    74                                             return false;
    7571                                        info.update(layer._popup._content);
    7672                                        map.closePopup();
     
    8480                });
    8581            }
     82            map.eachLayer(function(layer){
     83                /**
     84                 * Gestion des points informatifs
     85                 *
     86                 * Ils ne sont pas clickable et sélectionnables
     87                 * Ils n'ont pas de popup
     88                 * On leur met un label qui est leur titre
     89                 */
     90                if(layer.feature && layer.feature.properties && layer.feature.properties.role && $.inArray('informatif',layer.feature.properties.role) != -1){
     91                        layer.options.clickable = false;
     92                        layer.options.title = layer.feature.properties.title;
     93                        layer.options.riseOnHover = true;
     94                        layer.options.keyboard = false;
     95                        layer.options.icon.options.labelAnchor = [4,-4];
     96                        layer.unbindPopup().bindLabel(layer.feature.properties.title, { noHide: true, className: 'informatif', direction: 'auto' });
     97                        map.removeLayer(layer);
     98                        layer.addTo(map);
     99                }
     100            });
    86101            if(map.options.options && map.options.options.layer_topojson){
    87102                var topojson_layer = new L.TOPOJSON(map.options.options.layer_topojson, {async: true}),
    88103                        fichier_topojson = map1.options.options.layer_topojson.replace(/^.*[\\\/]/, '').replace(/\./g,'_'),
    89104                        addlayer = fichier_topojson+'_addlayer';
    90                 if(typeof window[addlayer] == 'function'){
     105                if (typeof window[addlayer] == 'function') {
    91106                        topojson_layer.on('addlayer',function(e){
    92107                                eval(eval(addlayer)(e,topojson_layer));
Note: See TracChangeset for help on using the changeset viewer.