当前位置: 首页 > 文档资料 > 认识现代 WebGIS >

1.5.3.2.3 为地图设置投影

优质
小牛编辑
126浏览
2023-12-01

SuperMap iClient for OpenLayers 通过设置 map 中 view 属性的 projection 参数来支持多投影。例如:

var map = new ol.Map({
    view: new ol.View({
        projection: 'EPSG:4326'
    });
});

projection 参数除了支持 EPSG code 字符串之外,还支持自定义投影参数。通过 ol.proj.Projection 类设置自定义投影参数,例如:

var swissProjection = new ol.proj.Projection({
    code: 'EPSG:21781',
    // extent用于确定缩放级别
    // 投影的extent可以参考https://epsg.io/
    extent: [485869.5728, 76443.1884, 837076.5648, 299941.7864],
    units: 'm'
});
ol.proj.addProjection(swissProjection);
var map = new ol.Map({
    view: new ol.View({
        projection: swissProjection
    });
});

有关各种投影的参数定义,可参考 http://spatialreference.org;如果已有定义,可搜索并查看其投影参数,例如EPSG:21418,其投影参数为 http://spatialreference.org/ref/epsg/21418/proj4/