zoukankan      html  css  js  c++  java
  • 关于地图坐标问题转换

    地图坐标大致分为三类

    1: GPS,WGS-84,原始坐标体系。(国内任何一个地图产品都不允许使用GPS坐标)

    显示为度分秒结构

    2.GCJ-02(火星坐标),国测局02年发布的坐标体系。国内使用最基础的坐标体系,其他坐标多是以此基础加密处理(谷歌地图,腾讯地图.高德地图使用的就是这个坐标体系)

    3.其他类坐标.由第二种坐标体系进行加密处理后的坐标体系统归第三类.(百度,,搜狗)

    1、  经纬度。这个是球面坐标,对于北京来说,就是(116.38817139.935961)这样的坐标。比如腾讯、高德、百度都是这样的经纬度坐标。谷歌是经纬度顺序写反的经纬度坐标。
    如果是度分秒坐标,需要进行转换,才能得到这样的经纬度坐标。详见坐标转换。
    2、  墨卡托坐标。平面坐标,相当于是直线距离,数字一般都比较大,像这样的。(215362.00021333335 99526.00034912192)
    墨卡托坐标,主要用于程序的后台计算。直线距离嘛,加加减减几乎计算方便。
    搜狗地图API就是直接使用的墨卡托坐标

    备注:搜狗用的平面坐标体系,谷歌地球用的wgs-84坐标体系

    关于坐标转换,高德有提供一个方法将其他坐标系的坐标转换为高德所用的GCJ-02
    AMap.convertFrom(data, 'gps', (status: any, result: { info: string; locations: any; }) => {
            if (result.info === 'ok') {
              const LngLat = [result.locations[0].lng, result.locations[0].lat]; // Array.<LngLat>
              arr.push(LngLat);
              // console.log(arr);
              // console.log(this.maxLngLat);
              // return LngLat;
            }
          });
        } else {
          this.locations(data, arr);
        }

    这里再放一个转换的插件吧:

    https://github.com/hujiulong/gcoord

     强烈建议做地图相关的功能时统一用一家的地图!
  • 相关阅读:
    ABP框架(asp.net core 2.X+Vue)运行前端(转)
    Spring学习指南第3版例子程序导入idea20.02
    Docker运行jar包(转)
    centos7使用docker搭建运行环境并部署jar(转)
    centos7修改docker镜像源的方法(转)
    虚拟机下CentOS7安装Docker(转)
    Virtual Box配置CentOS7网络(图文教程)(转)
    虚拟机docker运行jar程序
    docker安装
    【591】通过 Terminal 直接获取 GitHub 源码
  • 原文地址:https://www.cnblogs.com/wanghuanl/p/15573736.html
Copyright © 2011-2022 走看看