Changeset 64476 in spip-zone


Ignore:
Timestamp:
Aug 6, 2012, 4:24:22 PM (8 years ago)
Author:
brunobergot@…
Message:

Version 1.2.0 : necessite GIS 4.1.0 + compat Leaflet 0.4 + passage en paquet.xml

Location:
_plugins_/gis_geometries
Files:
3 added
2 deleted
2 edited
1 copied

Legend:

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

    r63352 r64476  
    3535                                                #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    3636                                                ["icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    37                                                 "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    38                                                 "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]]
     37                                                "icon_size": \[#GET{icon_w},#GET{icon_h}\],
     38                                                "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\]]
    3939                                        }
    4040                                }
     
    5858                                                #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    5959                                                ["icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    60                                                 "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    61                                                 "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]]
     60                                                "icon_size": \[#GET{icon_w},#GET{icon_h}\],
     61                                                "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\]]
    6262                                        }
    6363                                }]
     
    6666                <//B_points>
    6767                if (data) {
    68                         var geojson = new L.GeoJSON();
    69                         geojson.on("featureparse", function(e){
    70                                 if (e.properties && e.properties.icon){
    71                                         e.layer.setIcon(new L.Icon({
    72                                                 iconUrl: e.properties.icon,
    73                                                 iconSize: new L.Point( e.properties.icon_size[0], e.properties.icon_size[1] ),
    74                                                 iconAnchor: new L.Point( e.properties.icon_anchor[0], e.properties.icon_anchor[1] ),
    75                                         }));
     68                        var geojson = new L.geoJson('', {
     69                                onEachFeature: function (feature, layer) {
     70                                        if (feature.properties && feature.properties.icon){
     71                                                layer.setIcon(new L.Icon({
     72                                                        iconUrl: feature.properties.icon,
     73                                                        iconSize: new L.Point( feature.properties.icon_size\[0\], feature.properties.icon_size\[1\] ),
     74                                                        iconAnchor: new L.Point( feature.properties.icon_anchor\[0\], feature.properties.icon_anchor\[1\] ),
     75                                                }));
     76                                        }
     77                                        if (feature.properties && feature.properties.title){
     78                                                layer.bindPopup(feature.properties.title);
     79                                        }
    7680                                }
    77                                 if (e.properties && e.properties.title){
    78                                         e.layer.bindPopup(e.properties.title);
    79                                 }
    80                         });
    81                         map_preview.addLayer(geojson);
    82                         geojson.addGeoJSON(data);
     81                        }).addTo(map_preview);
     82                        geojson.addData(data);
    8383                        map_preview.fitBounds(geojson.getBounds());
    8484                }
  • _plugins_/gis_geometries/saisies/carte.html

    r63352 r64476  
    152152                                                #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    153153                                                ["icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    154                                                 "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    155                                                 "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]]
     154                                                "icon_size": \[#GET{icon_w},#GET{icon_h}\],
     155                                                "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\]]
    156156                                        }
    157157                                }]
    158158                }
    159                 var geojson = new L.GeoJSON();
    160                 form_map.addLayer(geojson);
    161                 geojson.on("featureparse", function(e){
    162                         if (e.geometryType == 'Polygon' || e.geometryType == 'LineString') {
    163                                 if (e.geometryType == 'Polygon') // virer le dernier point du polygon pour faciliter l'edition
    164                                         e.layer.spliceLatLngs(-1,1);
    165                                 // centrer la carte sur les bounds de l'objet
    166                                 form_map.fitBounds(e.layer.getBounds());
    167                                 // activer l'édition sur l'objet
    168                                 e.layer.editing.enable();
    169                                 // surveiller les changements sur les points de l'objet
    170                                 e.layer.on("edit", function(e){
    171                                         $('#champ_#ENV{champ_geojson,geojson}').val(layerToGeometry(e.target));
    172                                         var center = e.target.getBounds().getCenter();
    173                                         $('#champ_#ENV{champ_lat,lat}').val(center.lat);
    174                                         $('#champ_#ENV{champ_lon,lon}').val(center.lng);
    175                                 });
    176                         } else if (e.geometryType == 'Point') {
    177                                 marker = e.layer;
    178                                 // rendre le marker draggable
    179                                 e.layer.options.draggable = true;
    180                                 // surveiller les changements sur le point
    181                                 e.layer.on("dragend", function(e){
    182                                         $('#champ_#ENV{champ_geojson,geojson}').val(layerToGeometry(e.target));
    183                                         maj_inputs(form_map,e.target._latlng,'click');
    184                                 });
    185                         }
    186                 });
    187                 geojson.addGeoJSON(data);
     159                var geojson = new L.geoJson('', {
     160                        onEachFeature: function (feature, layer) {
     161                                console.log(feature);
     162                                console.log(layer);
     163                                if (feature.geometry.type == 'Polygon' || feature.geometry.type == 'LineString') {
     164                                        if (feature.geometry.type == 'Polygon') // virer le dernier point du polygon pour faciliter l'edition
     165                                                layer.spliceLatLngs(-1,1);
     166                                        // centrer la carte sur les bounds de l'objet
     167                                        form_map.fitBounds(layer.getBounds());
     168                                        // activer l'édition sur l'objet
     169                                        layer.editing.enable();
     170                                        // surveiller les changements sur les points de l'objet
     171                                        layer.on("edit", function(e){
     172                                                $('#champ_#ENV{champ_geojson,geojson}').val(layerToGeometry(e.target));
     173                                                var center = e.target.getBounds().getCenter();
     174                                                $('#champ_#ENV{champ_lat,lat}').val(center.lat);
     175                                                $('#champ_#ENV{champ_lon,lon}').val(center.lng);
     176                                        });
     177                                } else if (feature.geometry.type == 'Point') {
     178                                        marker = layer;
     179                                        // rendre le marker draggable
     180                                        layer.options.draggable = true;
     181                                        // surveiller les changements sur le point
     182                                        layer.on("dragend", function(e){
     183                                                $('#champ_#ENV{champ_geojson,geojson}').val(layerToGeometry(e.target));
     184                                                maj_inputs(form_map,e.target._latlng,'click');
     185                                        });
     186                                }
     187                        }
     188                }).addTo(form_map);
     189                geojson.addData(data);
    188190                </BOUCLE_gis>
    189191                [(#REM) afficher les outils de dessin uniquement lors de la création d'objet ]
Note: See TracChangeset for help on using the changeset viewer.