为地图设置投影
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/。