4 votos

La superposición de WMS de Mapserver en OpenLayers con epsg:900913 de Google/Bing/OpenStreetMap

AÑADIDO: Otro curioso efecto de que no importa a qué escala de zoom en la capa interior de google/bing mapa, el WMS de superposición es siempre el mismo tamaño de un tiro de MN. Que es, como la ropa interior térmica mapa de escala hacia arriba o hacia abajo, el WMS mapa de superposición nunca escalas -- siempre muestra los mismos límites.

Estoy tratando de convertir un Openlayers página de la ejecución de superposición de mapas con OpenLayers.La capa.MapServer para una ejecución de WMS con OpenLayers.La capa.WMS. La información que estoy proporcionando a través de estas interfaces es la superposición de Google/Bing/Openlayers baselayer. El Mapserver establecimiento funciona bien, pero el WMS parece que la aplicación para generar una superposición de mis datos que es de ~ 2x demasiado grande para la superposición con la capa interior de los mapas.

** Por favor, disculpe el uso de los enlaces aquí y por pastebin... yo quería incrustar imágenes y los enlaces directamente a pastebin, pero al ser un usuario nuevo, me fue dada las restricciones de ninguna de las imágenes y sólo dos enlaces.

Aquí está una foto de el trabajo de superposición: enter image description here

Aquí está una foto con la problemática WMS de superposición: Problem

El mapfiles para mapserver son casi idénticas, como he usado el trabajo de Mapserver mapfile para crear el mapfile para WMS, pero con algunos mods para el WMS mapfile para hacer WMS habilitado.

Aquí está el trabajo de Mapserver archivo de mapa: http://pastebin.com/VQBW5YSx

Y aquí está el WMS mapfile: http://pastebin.com/swMagqma

Cualquier ayuda es muy apreciada.

Gracias, Matt

1voto

Anthony Cramp Puntos 126

Puedo usar el siguiente código para mostrar las capas en la parte superior de Google Maps:

 var map;

    function init() {
            //Create the map object
            map = new OpenLayers.Map('map_element',{
                maxExtent: new OpenLayers.Bounds(
                -128 * 156543.0339,
                -128 * 156543.0339,
                128 * 156543.0339,
                128 * 156543.0339),
                maxResolution: 156543.0339,                
                units: 'm',
                projection: new OpenLayers.Projection('EPSG:900913'),
                displayProjection: new OpenLayers.Projection("EPSG:4326"),
            });

            //Google streets is the normal map type, so we don't need to pass in a type
            var google_streets = new OpenLayers.Layer.Google(
                "Google Streets",
                {numZoomLevels: 20}
            );



            var wms_layer=new OpenLayers.Layer.WMS("Min",
                'http://209.20.85.148/mapserv?map=/var/www/votevis/MN/2012-election/stsen/stsen-2012-wms.map',
            {layers:'sendist_border',transparent: true},
                {isBaseLayer: false,
                opacity: .7}
            );



            //Add the google map layers
            map.addLayers([google_streets, wms_layer ]);



            //Add a mouse position control
            map.addControl(new OpenLayers.Control.MousePosition());

            // Add a layer switcher control
            map.addControl(new OpenLayers.Control.LayerSwitcher({}));

            // Zoom the map to the max extent 
            if(!map.getCenter()){
                map.zoomToMaxExtent();
            }
        }

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