參考文獻
1.OpenLayers自定義坐標(biāo)系
2.openlayers官網(wǎng)示例:Single Image WMS with Proj4js
openlayers中默認支持的坐標(biāo)系為
EPSG:4326
和EPSG:3857
,除此外的坐標(biāo)需自定義,如常見的CGCS2000
坐標(biāo)系中的EPSG:4490
啸箫,本文以EPSG:4490
為例,進行自定義坐標(biāo)隘世,主要用到proj4.defs
方法。
查找坐標(biāo)系定義 http://epsg.io/
1.查找4490
也拜,如圖所示:
1.png
2.點擊查詢的結(jié)果
2.png
3.下拉界面以舒,找到proj4js趾痘,將結(jié)果復(fù)制
3.png
方式一:引入js
- 在
index.html
中引入proj4js
引入proj4.js文件 在線資源地址
<script src="https://cdn.bootcss.com/proj4js/2.6.0/proj4-src.js"></script>
- 自定義坐標(biāo)系
將上述查詢到的坐標(biāo)系結(jié)果復(fù)制使用
let proj4490 = proj4.defs("EPSG:4490", "+proj=longlat +ellps=GRS80 +no_defs");
var map = new Map({
target: 'map',
view: new View({
//minZoom: 7,
maxZoom: 15,
center: this.center,
zoom: this.zoom,
projection: proj4490
})
});
方式二:import的形式
- 下載proj4js
npm install proj4
- 引入proj4
import { register } from 'ol/proj/proj4';
import proj4 from 'proj4';
import Projection from 'ol/proj/Projection';
- 自定義坐標(biāo)
definedProjection() {
proj4.defs("EPSG:4490", "+proj=longlat +ellps=GRS80 +no_defs");
register(proj4);
var projection = new Projection({
code: 'EPSG:4490',
extent: [107.66615218883604, 16.780085439091835, 113.39113536886373, 20.948901121306612]
});
return projection;
}
- map中使用
let proj4490 = this.definedProjection();
var map = new Map({
target: 'map',
view: new View({
//minZoom: 7,
maxZoom: 15,
center: this.center,
zoom: this.zoom,
projection: proj4490
})
});