5 votos

Google mapas wms capa con 3857

Voy a añadir las capas wms para mi aplicación google maps. Como los Mapas de Google proyección de una web mercator, pensé que sería mejor solicitar las capas wms con srs=3857 (o equivalente) en lugar de la 4326. He buscado un poco por los compañeros de la implementación y vi que la mayoría (si no todos) de uso 4326 lugar.

Quería experimentar por mí mismo, puedo solicitar la 3857 para el servidor de mapas y hacer algunas reprojections para el BBOX coordenadas. Tengo los dos funcionando para que pueda compararlas. El resultado es: - 4326, las piezas parecen ACEPTAR acvtually, puedo notar un cambio. - 3857 el wms azulejos están completamente fuera, enorme lat cambio

Mi pregunta es: tengo derecho a pensar que yo debería estar en la consulta de un 3857 proyectado capa wms o debería ceñirse a 4326? y es que es normal que tengo un gran cambio en mi 3857 azulejos?

editar

Este es el código que uso para la creación de la capa de

    layer = new google.maps.ImageMapType({
        getTileUrl: function (coord, zoom) {
            var proj = _map.getProjection();
            var zfactor = Math.pow(2, zoom);
            // get tile coordinates
            var top = proj.fromPointToLatLng(new google.maps.Point(coord.x * 256 / zfactor, (coord.y + 1) * 256 / zfactor));
            var bot = proj.fromPointToLatLng(new google.maps.Point((coord.x + 1) * 256 / zfactor, coord.y * 256 / zfactor));
            // convert from wgs84 lat,lng to new srs coordinates
            var topConverted = srsConversion(top);
            var botConverted = srsConversion(bot);
            //create the Bounding box string
            // handles 1.3.0 wms by ordering lat, lng instead of lng, lat
            var bbox;
            if(version == "1.3.0") {
                bbox = botConverted.lng + "," + botConverted.lat + "," + topConverted.lng + "," + topConverted.lat;
            } else {
                bbox = topConverted.lng + "," + topConverted.lat + "," + botConverted.lng + "," + botConverted.lat;
            }
            //base WMS URL
            var url = lURL + "&BBOX=" + bbox; // set bounding box
            return url; // return URL for the tile
        },
        isPng: true,
        tileSize: new google.maps.Size(256, 256)
    });

3voto

Robin Chiu Puntos 11

Finalmente conseguí el tema... mi 4326 -> 3857 transformación estaba equivocada! perdón por la molestia. Se trata de la transformación que uso ahora (se encuentra en StackOverflow):

}

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