Changeset 100612 in spip-zone


Ignore:
Timestamp:
Nov 21, 2016, 8:41:17 PM (3 years ago)
Author:
brunobergot@…
Message:

report de r100610

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gis_geometries/modeles/carte_gis_preview.html

    r96681 r100612  
    66<script type="text/javascript">
    77/*<![CDATA[*/
    8 (function($){
    9         var init_map_preview = function() {
    10                 var map_preview,
    11                         map_preview_container = 'map_preview#ENV{id_map}',
    12                         marker,
    13                         base_layer = [(#ENV{layer_defaut}|=={none}|?{"'none'",[new (#EVAL{$GLOBALS\['gis_layers'\]}|table_valeur{[(#ENV{layer_defaut,[(#REM|gis_layer_defaut)]})]/layer})]})];
    14                
    15                 map_preview = new L.Map(map_preview_container);
    16                 map_preview.attributionControl.setPrefix('');
    17                 if(base_layer != 'none'){
    18                         map_preview.addLayer(base_layer);
     8var jQgisloader;
     9(function (){
     10        if (typeof jQuery.ajax == "undefined"){ jQuery(init_gis); } else { init_gis(); }
     11        function init_gis(){
     12                // Charger le javascript de GIS une seule fois si plusieurs carte
     13                if (typeof jQgisloader=="undefined"){
     14                        jQgisloader = jQuery.ajax({url: '[(#PRODUIRE{fond=javascript/gis.js})]', dataType: 'script', cache: true});
    1915                }
    20                
    21                 map_preview.setView(new L.LatLng([(#GET{lat,#CONFIG{gis/lat,0}})],[(#GET{lon,#CONFIG{gis/lon,0}})]),[(#ZOOM|sinon{#CONFIG{gis/zoom,0}})]);
    22                 [(#REM) On ajoute les points ou le point unique suivant les params ]
    23                 <B_si_geojson>
    24                 <BOUCLE_si_geojson(CONDITION){si #ENV{geojson}}>
    25                 var data = [(#ENV**{geojson}|html_entity_decode)];
    26                 </BOUCLE_si_geojson>
    27                 </B_si_geojson>
    28                 <B_points>
    29                 var data = {
    30                         "type": "FeatureCollection",
    31                         "features": [
    32                 <BOUCLE_points(GIS){id_objet}{objet}{","}>
    33                                 {"type": "Feature",
    34                                         ["geometry": (#GEOMETRY|wkt_to_json),]
    35                                         "id":"#ID_GIS",
    36                                         "properties": {
    37                                                 "title":[(#TITRE|supprimer_numero|json_encode)],
    38                                                 "description":[(#DESCRIPTIF|json_encode)][(#TYPE|=={Point}|oui)[
    39                                                 (#LOGO_GIS|gis_icon_properties)]][,
    40                                                 "styles": (#GEOMETRY_STYLES|appliquer_filtre{geometry_styles_to_json})]
    41                                         }
     16                // et initialiser la carte (des que js GIS charge et des que DOM ready)
     17                jQgisloader.done(function(){
     18                        jQuery(function(){
     19                                var map_preview,
     20                                        map_preview_container = 'map_preview#ENV{id_map}',
     21                                        marker,
     22                                        base_layer = [(#ENV{layer_defaut}|=={none}|?{"'none'",[new (#EVAL{$GLOBALS\['gis_layers'\]}|table_valeur{[(#ENV{layer_defaut,[(#REM|gis_layer_defaut)]})]/layer})]})];
     23                               
     24                                map_preview = new L.Map(map_preview_container);
     25                                map_preview.attributionControl.setPrefix('');
     26                                if(base_layer != 'none'){
     27                                        map_preview.addLayer(base_layer);
    4228                                }
    43                 </BOUCLE_points>
    44                         ]
    45                 };
    46                 [(#TOTAL_BOUCLE|>{1}|oui) #SET{autocenter,oui} ]
    47                 </B_points>
    48                 <BOUCLE_point(GIS){id_gis}>
    49                 var data = {
    50                         "type": "FeatureCollection",
    51                         "features": [
    52                                 {"type": "Feature",
    53                                         ["geometry": (#GEOMETRY|wkt_to_json),]
    54                                         "id":"#ID_GIS",
    55                                         "properties": {
    56                                                 "title":[(#TITRE|supprimer_numero|json_encode)],
    57                                                 "description":[(#DESCRIPTIF|json_encode)][(#TYPE|=={Point}|oui)[
    58                                                 (#LOGO_GIS|gis_icon_properties)]][,
    59                                                 "styles": (#GEOMETRY_STYLES|appliquer_filtre{geometry_styles_to_json})]
    60                                         }
    61                                 }]
    62                 };
    63                 </BOUCLE_point>
    64                 <//B_points>
    65                 <//B_si_geojson>
    66                 if (typeof data === 'object') {
    67                         var geojson = new L.geoJson('', {
    68                                 style: function (feature) {
    69                                         return feature.properties.styles;
    70                                 },
    71                                 onEachFeature: function (feature, layer) {
    72                                         if (feature.properties && feature.properties.icon){
    73                                                 layer.setIcon(new L.Icon({
    74                                                         iconUrl: feature.properties.icon,
    75                                                         iconSize: new L.Point( feature.properties.icon_size\[0\], feature.properties.icon_size\[1\] ),
    76                                                         iconAnchor: new L.Point( feature.properties.icon_anchor\[0\], feature.properties.icon_anchor\[1\] ),
    77                                                         popupAnchor: new L.Point( feature.properties.popup_anchor\[0\], feature.properties.popup_anchor\[1\] )
    78                                                 }));
    79                                         }
    80                                         if (feature.properties && feature.properties.title){
    81                                                 var popupContent = '<strong>' + feature.properties.title + '</strong>';
    82                                                 if (feature.properties.description)
    83                                                         popupContent = popupContent + feature.properties.description;
    84                                                 layer.bindPopup(popupContent);
    85                                         }
     29                               
     30                                map_preview.setView(new L.LatLng([(#GET{lat,#CONFIG{gis/lat,0}})],[(#GET{lon,#CONFIG{gis/lon,0}})]),[(#ZOOM|sinon{#CONFIG{gis/zoom,0}})]);
     31                                [(#REM) On ajoute les points ou le point unique suivant les params ]
     32                                <B_si_geojson>
     33                                <BOUCLE_si_geojson(CONDITION){si #ENV{geojson}}>
     34                                var data = [(#ENV**{geojson}|html_entity_decode)];
     35                                </BOUCLE_si_geojson>
     36                                </B_si_geojson>
     37                                <B_points>
     38                                var data = {
     39                                        "type": "FeatureCollection",
     40                                        "features": [
     41                                <BOUCLE_points(GIS){id_objet}{objet}{","}>
     42                                                {"type": "Feature",
     43                                                        ["geometry": (#GEOMETRY|wkt_to_json),]
     44                                                        "id":"#ID_GIS",
     45                                                        "properties": {
     46                                                                "title":[(#TITRE|supprimer_numero|json_encode)],
     47                                                                "description":[(#DESCRIPTIF|json_encode)][(#TYPE|=={Point}|oui)[
     48                                                                (#LOGO_GIS|gis_icon_properties)]][,
     49                                                                "styles": (#GEOMETRY_STYLES|appliquer_filtre{geometry_styles_to_json})]
     50                                                        }
     51                                                }
     52                                </BOUCLE_points>
     53                                        ]
     54                                };
     55                                [(#TOTAL_BOUCLE|>{1}|oui) #SET{autocenter,oui} ]
     56                                </B_points>
     57                                <BOUCLE_point(GIS){id_gis}>
     58                                var data = {
     59                                        "type": "FeatureCollection",
     60                                        "features": [
     61                                                {"type": "Feature",
     62                                                        ["geometry": (#GEOMETRY|wkt_to_json),]
     63                                                        "id":"#ID_GIS",
     64                                                        "properties": {
     65                                                                "title":[(#TITRE|supprimer_numero|json_encode)],
     66                                                                "description":[(#DESCRIPTIF|json_encode)][(#TYPE|=={Point}|oui)[
     67                                                                (#LOGO_GIS|gis_icon_properties)]][,
     68                                                                "styles": (#GEOMETRY_STYLES|appliquer_filtre{geometry_styles_to_json})]
     69                                                        }
     70                                                }]
     71                                };
     72                                </BOUCLE_point>
     73                                <//B_points>
     74                                <//B_si_geojson>
     75                                if (typeof data === 'object') {
     76                                        var geojson = new L.geoJson('', {
     77                                                style: function (feature) {
     78                                                        return feature.properties.styles;
     79                                                },
     80                                                onEachFeature: function (feature, layer) {
     81                                                        if (feature.properties && feature.properties.icon){
     82                                                                layer.setIcon(new L.Icon({
     83                                                                        iconUrl: feature.properties.icon,
     84                                                                        iconSize: new L.Point( feature.properties.icon_size\[0\], feature.properties.icon_size\[1\] ),
     85                                                                        iconAnchor: new L.Point( feature.properties.icon_anchor\[0\], feature.properties.icon_anchor\[1\] ),
     86                                                                        popupAnchor: new L.Point( feature.properties.popup_anchor\[0\], feature.properties.popup_anchor\[1\] )
     87                                                                }));
     88                                                        }
     89                                                        if (feature.properties && feature.properties.title){
     90                                                                var popupContent = '<strong>' + feature.properties.title + '</strong>';
     91                                                                if (feature.properties.description)
     92                                                                        popupContent = popupContent + feature.properties.description;
     93                                                                layer.bindPopup(popupContent);
     94                                                        }
     95                                                }
     96                                        }).addTo(map_preview);
     97                                        geojson.addData(data);
     98                                        if(data.features && data.features.length > 1)
     99                                                map_preview.fitBounds(geojson.getBounds());
    86100                                }
    87                         }).addTo(map_preview);
    88                         geojson.addData(data);
    89                         if(data.features && data.features.length > 1)
    90                                 map_preview.fitBounds(geojson.getBounds());
    91                 }
    92                 [(#REM) On ajoute les KML attachés à l'objet ]
    93                 <BOUCLE_kml(DOCUMENTS){tous}{objet}{id_objet}{extension=kml}>
    94                 map_preview.addLayer(new L.KML('[(#URL_DOCUMENT|url_absolue)]', {async: true}));
    95                 </BOUCLE_kml>
    96                 [(#REM) On ajoute les GPX attachés à l'objet ]
    97                 <BOUCLE_gpx(DOCUMENTS){tous}{objet}{id_objet}{extension=kml}>
    98                 map_preview.addLayer(new L.GPX('[(#URL_DOCUMENT|url_absolue)]', {async: true}));
    99                 </BOUCLE_gpx>
     101                                [(#REM) On ajoute les KML attachés à l'objet ]
     102                                <BOUCLE_kml(DOCUMENTS){tous}{objet}{id_objet}{extension=kml}>
     103                                map_preview.addLayer(new L.KML('[(#URL_DOCUMENT|url_absolue)]', {async: true}));
     104                                </BOUCLE_kml>
     105                                [(#REM) On ajoute les GPX attachés à l'objet ]
     106                                <BOUCLE_gpx(DOCUMENTS){tous}{objet}{id_objet}{extension=kml}>
     107                                map_preview.addLayer(new L.GPX('[(#URL_DOCUMENT|url_absolue)]', {async: true}));
     108                                </BOUCLE_gpx>
     109                        });
     110                });
    100111        }
    101 
    102         $(function(){
    103                 jQuery.getScript('[(#PRODUIRE{fond=javascript/gis.js}|compacte)]',function(){
    104                         init_map_preview();
    105                 });
    106         });
    107 })(jQuery);
     112})()
    108113/*]]>*/
    109114</script>
Note: See TracChangeset for help on using the changeset viewer.