目录
openlayers常见操作集合
一、定义cgcs2000地理坐标投影
先引入proj4.js文件
<script src="./libs/ol5/proj4.js"></script>
定义投影
//使用proj4.defs()定义投影
proj4.defs("EPSG:4490", "+proj=longlat +ellps=GRS80 +no_defs");
//使proj4中定义的投影在OpenLayers中可用。
ol.proj.proj4.register(proj4);
//创建"EPSG:4490"的Projection实例,Openlayers将可以从Peoj4js中获取转换函数。
var cgcs2000 = new ol.proj.Projection({
code: "EPSG:4490", //EPSG code
extent: [-180, -90, 180, 90],
worldExtent: [-180, -90, 180, 90],
units: "degrees" //Projection units: `'degrees'`, `'ft'`, `'m'`, `'pixels'`, `'tile-pixels'` or `'us-ft'.
});
ol.proj.addProjection(cgcs2000);
使用投影
ol.proj.fromLonLat([104, 35], cgcs2000),
二、缩放定位到某个坐标点,修改zoom级别
function goXYHandle() {
let myView = map.getView()
myView.setZoom(5);
myView.setCenter(ol.proj.fromLonLat([104, 35], cgcs2000));
}
三、根据某个查询到的要素,缩放定位到该元素
let myView = map.getView()
myView.setZoom(5);
myView.setCenter(ol.extent.getCenter(_feature.getGeometry().getExtent()));