Changeset 79049 in spip-zone


Ignore:
Timestamp:
Dec 2, 2013, 7:55:31 AM (6 years ago)
Author:
jean-marc.viglino@…
Message:

{MAJ} Ajout d'un d'un curseur sur les cartes en synchro

Location:
_plugins_/spip_geoportail
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip_geoportail/js/geoportail.js

    r74577 r79049  
    13991399       
    14001400        /** Synchronisation de cartes */
    1401         synchro: function (id_map)
     1401        synchro: function (id_map, cursor)
    14021402        {       if (id_map.constructor.toString().indexOf("Array") == -1) return;
    14031403                var c = new Array;
     
    14191419                {       if (!c[i].synchro) c[i].synchro = {}
    14201420                        c[i].map.getMap().events.register('moveend', c[i], geoportail_moveSynchro);
     1421                        if (cursor) c[i].map.getMap().events.register('mousemove', c[i], geoportail_cursorSynchro);
    14211422                        for (j=0; j<c.length; j++)
    14221423                                if (c[i].id != id_map[j]) c[i].synchro[id_map[j]] = c[j];
     
    15611562                        c.setCenter(pt,this.map.getMap().getZoom());
    15621563                this.synchro[i].moving = false;
     1564        }
     1565}
     1566
     1567function geoportail_cursorSynchro (e)
     1568{       // Coordonees du curseur
     1569        var cur = this.map.getMap().getLonLatFromViewPortPx(e.xy) ;
     1570        var l = this.map.getMap().getLayersByName("_cursor");
     1571        if (l.length) l.pop().setVisibility(false);
     1572        var i; 
     1573        for (i in this.synchro)
     1574        {       var c = this.synchro[i].map.getMap()
     1575                var pt = cur.clone();
     1576                pt.transform(this.map.getMap().getProjectionObject(),c.getProjectionObject());
     1577                // Layer du centre
     1578                l = c.getLayersByName("_cursor");
     1579                if (l.length)
     1580                {       l = l.pop();
     1581                        l.setVisibility(true);
     1582                }
     1583                else
     1584                {       // Style de la couche
     1585                        OpenLayers.Renderer.symbol.croix = [1,1,10,1,10,-1,1,-1,1,-10,-1,-10,-1,-1,-10,-1,-10,1,-1,1,-1,10,1,10,1,1];
     1586                        var styleMap = new OpenLayers.StyleMap({"default": { pointRadius: 10, graphicName:'croix', fillColor:'#000', strokeColor:'#fff', strokeWidth:1 } });
     1587                        // Rajoute une couche pour les points
     1588                        l = new OpenLayers.Layer.Vector("_cursor", { styleMap: styleMap, displayInLayerSwitcher:false, opacity: 1, visibility: 1 });
     1589                        c.addLayer(l);
     1590                }
     1591                l.removeAllFeatures();
     1592                l.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(cur.lon,cur.lat)));
    15631593        }
    15641594}
  • _plugins_/spip_geoportail/modeles/geoportail_synchro.html

    r59699 r79049  
    1 <script type="text/javascript">$.geoportail.synchro([#ID_GEOPORTAIL])</script>
     1<script type="text/javascript">$.geoportail.synchro([#ID_GEOPORTAIL], [(#CURSOR|?{true,false})])</script>
Note: See TracChangeset for help on using the changeset viewer.