Skip to content

坐标转换

该框架支持各类坐标转换

INFO

根据输入的对应坐标系参数生成其他坐标系参数

代码实例

vue
<script setup lang="ts">
import { onMounted, onBeforeUnmount, onBeforeMount, ref, watch } from 'vue'
import { Promotion } from '@element-plus/icons-vue'
onBeforeMount(() => {
  hideBar()
})
const LarkExplorer = window.LarkExplorer
let map: any
onMounted(() => {
  LarkExplorer.ready({
    baseUrl: './dist/resources/',
  }).then(initMap)
})

function initMap() {
  map = new LarkExplorer.Map('map')
  console.log(map)
}
const wgs84 = ref('115.654,32.154')
const gcj = ref('')
const bdll = ref('')
const bdmc = ref('')
const car3 = ref('')
const transFromWgs84 = () => {
  const coord = LarkExplorer.Coordinate
  const lnglat = getLngLat(wgs84.value)
  const gcjLnglat = coord.transformWGS2GCJ(lnglat)
  gcj.value = getText(gcjLnglat)
  const bdllLngLat = coord.transformWGS2BD(lnglat)
  bdll.value = getText(bdllLngLat)
  const bdmcLngLat = coord.convertBdLL2MC(bdllLngLat)
  bdmc.value = getText(bdmcLngLat)
  const degree = {
    x: lnglat.lng,
    y: lnglat.lat,
  }
  const cartesian = coord.transformWGS84ToCartesian(degree)
  car3.value = cartesian
}
const transFromGcj = () => {
  const coord = LarkExplorer.Coordinate
  const gcjLnglat = getLngLat(gcj.value)
  const lnglat = coord.transformGCJ2WGS(gcjLnglat)
  wgs84.value = getText(lnglat)
  const bdllLngLat = coord.transformGCJ2BD(gcjLnglat)
  bdll.value = getText(bdllLngLat)
  const bdmcLngLat = coord.convertBdLL2MC(bdllLngLat)
  bdmc.value = getText(bdmcLngLat)
  const degree = {
    x: lnglat.lng,
    y: lnglat.lat,
  }
  const cartesian = coord.transformWGS84ToCartesian(degree)
  car3.value = cartesian
}
const transFromBdll = () => {
  const coord = LarkExplorer.Coordinate
  const bdllLngLat = getLngLat(bdll.value)
  const lnglat = coord.transformBD2WGS(bdllLngLat)
  wgs84.value = getText(lnglat)
  const gcjLnglat = coord.transformBD2GCJ(bdllLngLat)
  gcj.value = getText(gcjLnglat)
  const bdmcLngLat = coord.convertBdLL2MC(bdllLngLat)
  bdmc.value = getText(bdmcLngLat)
  const degree = {
    x: lnglat.lng,
    y: lnglat.lat,
  }
  const cartesian = coord.transformWGS84ToCartesian(degree)
  car3.value = cartesian
}
const transFromBdmc = () => {
  const coord = LarkExplorer.Coordinate
  const bdmcLngLat = getLngLat(bdmc.value)
  const bdllLngLat = coord.convertBdMC2LL(bdmcLngLat)
  console.log(bdllLngLat)
  bdll.value = getText(bdllLngLat)
  const lnglat = coord.transformBD2WGS(bdllLngLat)
  wgs84.value = getText(lnglat)
  const gcjLnglat = coord.transformBD2GCJ(bdllLngLat)
  gcj.value = getText(gcjLnglat)
  const degree = {
    x: lnglat.lng,
    y: lnglat.lat,
  }
  const cartesian = coord.transformWGS84ToCartesian(degree)
  car3.value = cartesian
}
function getLngLat(text: string) {
  const arr = text.split(',')
  return {
    lng: Number(arr[0]),
    lat: Number(arr[1]),
  }
}
function getText(lnglat: any) {
  const { lng, lat } = lnglat
  return lng + ',' + lat
}
</script>

运行效果 更多示例