先引入(leaflet+proj)
1、经纬度→自定义
transformProj:function(lonlat) {//坐标转换:经纬度 --> 自定义 将经纬度epsg:4326转为epsg:2333
var point=L.latLng(lonlat[1],lonlat[0]);//注意纬度在前
var firstProjection = "EPSG:2333";//目的坐标系
var secondProjection ='+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs';//secondProjection为目的坐标系的属性(可在config-epsg.js中查找对应坐标系相关信息)
var CRS_2333=new L.Proj.CRS(firstProjection,secondProjection)
var point_new = CRS_2333.project(point);
return point_new;
},
2、自定义→经纬度
transformProj:function(lonlat) {//坐标转换:自定义 --> 经纬度 将经纬度epsg:4509转为epsg:4326
var point=L.latLng(lonlat[1],lonlat[0]);//注意纬度在前
var firstProjection = "EPSG:4509";//
var secondProjection ='+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs';//secondProjection为4509坐标系的属性(可在config-epsg.js中查找对应坐标系相关信息)
var CRS_4509=new L.Proj.CRS(firstProjection,secondProjection)
var point_new = CRS_4509.project(point);
return point_new;
},
3、对坐标进行批量转换
for (let i = 0; i < polygons.length; i++) {
var point = this.transformProj([polygons[i].lng,polygons[i].lat]);
range.push({x:point.x,y:point.y})
}

3361

被折叠的 条评论
为什么被折叠?



