11.newLayer系列-天地图

import {get as getProjection} from 'ol/proj'
import TileLayer from "ol/layer/Tile";
import {XYZ} from "ol/source";

let typeObj = {
  'vec': '矢量底图',
  'cva': '矢量注记',

  'img': '影像底图',
  'cia': '影像注记',

  'ter': '地形晕渲',
  'cta': '地形注记',

  'ibo': '全球境界',

  'eva': '矢量英文注记',
  'eia': '影像英文注记',
}
let projectionWayObj = {
  'c': '经纬度投影',
  'w': '球面墨卡托投影',
}

let xysGetTDT = (epsg = 'EPSG:4326', type = 'vec', projectionWay = 'w', layerOption = {}) => {
  let sourceOption = {}
  if (projectionWay === 'c') {
    sourceOption.projection = getProjection(epsg)
  }

  if(epsg === 'EPSG:3857' && projectionWay==='c'){
    projectionWay = 'w'
  }

  return new TileLayer({
    name: '天地图-' + typeObj[type] + '-' + projectionWayObj[projectionWay],
    source: new XYZ({
      url: 'https://t0.tianditu.gov.cn/DataServer?T=' + type + '_' + projectionWay + '&x={x}&y={y}&l={z}&tk=6d6732d7f432d1a70b3c0c9fc0e4d8fd',
      ...sourceOption
    }),
    ...layerOption
  })
}

export default xysGetTDT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值