Map OpenLayers:将EPSG:3006转换为EPSG:4326

Map OpenLayers:将EPSG:3006转换为EPSG:4326,map,coordinates,openlayers,projection,epsg,Map,Coordinates,Openlayers,Projection,Epsg,我试图使用一个程序,加载EPSG:4326格式的坐标并在地图上绘图。问题是我的坐标是EPSG:3006 是否有任何函数可以将OpenLayers中的一个投影转换为另一个EPSG?更好的方法是使用proj4js库,它很简单,如果需要,您可以添加自定义投影 下面您可以看到它是如何工作的: var SourceProjection= new Proj4js.Proj('EPSG:4326'); var DestinationProjections= new Proj4js.Proj('EPSG:300

我试图使用一个程序,加载EPSG:4326格式的坐标并在地图上绘图。问题是我的坐标是EPSG:3006


是否有任何函数可以将OpenLayers中的一个投影转换为另一个EPSG?

更好的方法是使用proj4js库,它很简单,如果需要,您可以添加自定义投影

下面您可以看到它是如何工作的:

var SourceProjection= new Proj4js.Proj('EPSG:4326');
var DestinationProjections= new Proj4js.Proj('EPSG:3006');

var Point = new Proj4js.Point(longitude, latitude);          
Proj4js.transform(FirstProjection, SecondProjections, ne);
或者,如果您想从openlayers执行此操作,您可以使用几何体的“transform”函数,这里是我使用的自定义函数:

function TransformGeometry(geometry, SourceProj, DestProj) {
    geometry.transform(
        new OpenLayers.Projection(SourceProj),
        new OpenLayers.Projection(DestProj));

    return geometry;
}
在任何情况下,您都必须在HTML标记中声明,以便使用投影的“长列表”(包括此处和您创建的自定义投影)。

可能的重复项