16 votos

La comparación de los dos mapas con la agradable interfaz web?

Es posible que en el Prospecto o OpenLayers para comparar dos mapas con una barra de deslizamiento entre los dos?

Los ejemplos incluyen:

Sé que es posible, no sé cómo, a pesar de todo. Alguien tiene alguna idea? Ejemplos?

12voto

Anthony Cramp Puntos 126

Lo que quieres hacer, es generalmente llamado un 'Pase' de la herramienta.

No hay ninguna herramienta incorporada o el control de esta en OpenLayers, pero, afortunadamente, hay un ejemplo aquí: Desliza el dedo de Control con Google y la OSM basado en una clase personalizada.

Usted sólo necesita incluir este archivo JavaScript en su aplicación.

La mayoría de Pase Herramientas/controles que he visto en internet, se basa en el CSS simple clip. Es muy sencillo de integrar este tipo de Control en su aplicación, incluso en la ausencia de otros parches.

8voto

JB King Puntos 10105

Mango hace con el Prospecto. Echa un vistazo a un ejemplo aquí.

Por supuesto, usted puede simplemente guardar el tiempo para escribir el código a sí mismo y acaba de crear el mapa para uso libre de Mango.

3voto

Ricardo Reyes Puntos 3428

Este es un trabajo Prospecto ejemplo el uso de dos capas WMS y folleto de 0.5. Se necesita un poco de ajuste, por ejemplo, las capas no son recortados mientras que la panorámica. Pero funciona bastante bien.

Ver aquí: https://github.com/gccgisteam/leaflet-examples/blob/master/leafletSwipe.html

2voto

m0j0 Puntos 21

Eche un vistazo a WMS Split para el Prospecto.

1voto

Peltier Puntos 1475

es posible que con el prospecto. aquí lo que hace el barrido del mapa con el prospecto y jquery.

$(document).ready(function() {
        var currentX = $("#viewport").width() / 2;
        var resetPosition = function(x){
            var pos = $(".leaflet-map-pane").position(),
            coordLeft = ( - pos.top ) + "px, " + ( x - pos.left + 3 ) + "px, " + ( $("#viewport").height() - pos.top ) + "px, " + -pos.left + "px",
            coordRight = ( - pos.top ) + "px, " + ( $("#viewport").width() - pos.left ) + "px, " + ( $("#viewport").height() - pos.top ) + "px, " + ( x - pos.left + 3 ) + "px";
            $(".leaflet-layer:nth-child(3)").css("clip", "rect(" + coordLeft + ")");
            $(".leaflet-layer:nth-child(2)").css("clip", "rect(" + coordRight + ")");
        };
        resetPosition(currentX);
        map.on("move", function(){
            resetPosition(currentX);
        })
        map.on("zoomend", function(){
            resetPosition(currentX);
        });
        if( $.browser.msie && parseInt($.browser.version) < 9 ){
            $("#vbar-divider").draggable({
                drag: function(e){
                    currentX = $("#vbar-divider").position().left;
                    resetPosition(currentX);
                },
                axis: "x"
            });
        }else{
            $("#vbar-divider").draggable({
                drag: function(e){
                    currentX = $("#vbar-divider").position().left;
                    resetPosition(currentX);
                    $("#vbar-divider div").hide();
                },
                stop: function(){
                    $("#vbar-divider div").show();
                },
                axis: "x",
                containment: "parent"
            });
        }
        $('#vbar-divider').animate({
                left: currentX,
            }, 
            500 
        );
    }); 

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X