openlayer注册4490坐标系,添加4490超图服务

1.注册4490坐标系

先贴代码

import proj4 from "proj4";
import { register } from "ol/proj/proj4";
proj4.defs("EPSG:4490", "+proj=longlat +ellps=GRS80 +no_defs");
register(proj4);

再来解释

proj4是一个开源的投影定义库,作用就是可以定义投影体系,proj4.defs()没有返回值,接收两个参数。

第一个是EPSG编码,国际上都是按这个格式去写(“EPSG”:XXXX)

第二个参数是投影参数,这个也不用去记,在这里可以获取:EPSG.io: Coordinate Systems Worldwide

投影参数获取步骤,如下图

openlayer注册4490坐标系,添加4490超图服务_第1张图片

点进去

openlayer注册4490坐标系,添加4490超图服务_第2张图片

往下拉

openlayer注册4490坐标系,添加4490超图服务_第3张图片

这样4490就算是定义好了,定义好了还没用,还需要挂接到ol体系里面去才能使用,ol专门针对proj4开发对接方法import { register } from "ol/proj/proj4";register就可以将定义的坐标系注册到ol中

2.添加4490超图服务

import { TileSuperMapRest } from "@supermap/iclient-ol";

需要安装超图挂接ol的库@supermap/iclient-ol,这个自行安装,安装使用还有点坑,遇到问题的可以翻我之前的文章,很稳。

这里着重说一个坑吧,TileSuperMapRest 是将超图服务地址包裹成ol tilesource的函数,加载超图时,如果是非4326、3857的坐标系,一定要加上extent,不然会报错。

openlayer注册4490坐标系,添加4490超图服务_第4张图片

openlayer注册4490坐标系,添加4490超图服务_第5张图片

这个extent去服务里可以获取到

openlayer注册4490坐标系,添加4490超图服务_第6张图片

3.完整样例代码





你可能感兴趣的:(java,前端,服务器)