百度地图坐标转换详解

一、百度地图坐标转换经纬度

1、百度地图使用的是百度坐标系,而非常规的WGS84坐标系。因此,需要进行坐标转换才能够获取经纬度。

2、百度地图提供了一个JavaScript API,可以通过以下代码将百度坐标系转换为标准的WGS84坐标系。下面的代码示例显示了如何使用JavaScript API将百度坐标转换为经度和纬度:



    var point = new BMap.Point(116.404, 39.915);
    var convertor = new BMap.Convertor();
    var pointArr = [];
    pointArr.push(point);
    convertor.translate(pointArr, 1, 5, function(data){
        if(data.status === 0) {
            var lng = data.points[0].lng;
            var lat = data.points[0].lat;
            console.log('经度:' + lng + ', 纬度:' + lat);
        }
    });

其中,Point对象是百度地图的对象,表示一个坐标点,第一个参数为经度,第二个参数为纬度。Convertor对象是把坐标点转换成其它坐标系的工具对象。

二、百度地图坐标转换为WGS84坐标

1、如果需要将百度地图的坐标转换为WGS84坐标,则需要使用逆向坐标转换。在JavaScript API中,BMap.Convertor类可以实现该功能。下面的例子演示了如何将百度地图的坐标点转换为WGS84坐标:



    var point = new BMap.Point(116.404, 39.915);
    var convertor = new BMap.Convertor();
    var pointArr = [];
    pointArr.push(point);
    convertor.translate(pointArr, 5, 1, function(data){
        if(data.status === 0) {
            var lng = data.points[0].lng;
            var lat = data.points[0].lat;
            console.log('经度:' + lng + ', 纬度:' + lat);
        }
    });

在上面的代码中,translate方法的第一个参数是一个坐标点数组,第二个参数是目标坐标系统,第三个参数是源坐标系统。在此例中,源坐标系统是百度坐标系,目标坐标系是WGS84坐标系。

三、百度地图坐标定位查询

1、在百度地图上,可以通过坐标进行定位查询。下面的代码演示了如何使用JavaScript API在百度地图上进行坐标定位查询:



    var map = new BMap.Map("container");
    var point = new BMap.Point(116.404, 39.915);
    map.enableScrollWheelZoom(true);
    map.centerAndZoom(point, 15);
    var marker = new BMap.Marker(point);
    map.addOverlay(marker);
    var geoc = new BMap.Geocoder();
    geoc.getLocation(point, function(rs){
        var addComp = rs.addressComponents;
        console.log(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
    });

上面的代码中,getLocation方法是Geocoder类的方法,用于获取指定坐标点的详细地址信息。rs参数是一个GeocoderResult对象,里面包含了详细地址信息。

四、百度地图定位坐标

1、可以通过IP地址或者WIFI定位来获得当前设备所在的位置坐标。下面的代码演示了如何使用JavaScript API获取当前设备所在的坐标点:



    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
            var mk = new BMap.Marker(r.point);
            map.addOverlay(mk);
            map.panTo(r.point);
            console.log('您当前的位置:' + r.point.lng + ',' + r.point.lat);
        }
        else {
            alert('failed'+this.getStatus());
        }        
    },{enableHighAccuracy: true})

上面的代码中,geolocation是Geolocation类的一个实例,getCurrentPosition是该类中获取当前位置的方法。获取的位置信息在回调函数r中返回。在此例中,我们将获取到的坐标点显示在地图中,并将地图的中心移动到该坐标点位置。

五、百度地图坐标系转2000坐标系

1、在国内,常用的坐标系有四种:WGS84坐标系、北京54坐标系、2000国家大地坐标系、西安80坐标系。其中,百度地图采用的是2000国家大地坐标系,因此我们需要将其他坐标系的坐标进行转换才可以在百度地图上使用。下面的代码演示了如何将WGS84坐标系的坐标转换为2000坐标系的坐标:



    var point = new BMap.Point(116.404, 39.915);
    var convertor = new BMap.Convertor();
    var pointArr = [];
    pointArr.push(point);
    convertor.translate(pointArr, 1, 3, function(data){
        if(data.status === 0) {
            var x = data.points[0].lng;
            var y = data.points[0].lat;
            console.log('x:' + x + ', y:' + y);
        }
    });

上面的代码中,translate()方法的第二个参数是指源坐标系(WGS84),第三个参数是指目标坐标系(2000)。

六、2000坐标转换成经纬度在线

1、如果需要将2000坐标系的坐标点转换为经度和纬度,可以使用在线的坐标转换工具。常用的工具有天地图坐标拾取器和易学GIS坐标拾取器。

2、以天地图坐标拾取器为例,使用方法如下:

首先在浏览器中打开http://api.tianditu.gov.cn/cgsys/cgfw/service/correction.html,在坐标拾取器中输入2000坐标系的坐标点,点击“纠偏”按钮,然后就可以看到该坐标点在WGS84坐标系下的经纬度了。

七、大地坐标与经纬度转换器

1、大地坐标常用于高精度的测量和定位中,而且其精度比经纬度更高。可以使用在线的大地坐标与经纬度转换器将大地坐标转换成经度和纬度。常用的在线转换器有百度坐标转换和GPS坐标转换。

2、以百度坐标转换为例,使用方法如下:

首先在浏览器中打开http://www.gpsspg.com/maps.htm,在左边的下拉框中选择“百度坐标”,然后在输入框中输入百度坐标系的坐标点,点击“查询”按钮,就可以看到该坐标点在WGS84坐标系下的经纬度了。

八、百度地图位置换算成坐标

1、可以使用JavaScript API中的Geocoder类,将地址转换为对应的坐标点。下面的代码演示了如何使用JavaScript API将地址转换为坐标点:



    var gc = new BMap.Geocoder();
    gc.getPoint("北京市海淀区中关村", function(point){
        console.log("x:" + point.lng + ", y:" + point.lat);
    });

上面的代码中,gc.getPoint()方法的第一个参数是地址字符串,第二个参数是回调函数,该函数中的参数point就是转换后的坐标点。

九、百度地图怎么输坐标

1、在百度地图上搜索时,可以通过输入坐标点的经纬度来进行搜索。具体的操作方法是:在搜索栏中输入“经度,纬度”,例如“116.404,39.915”。

2、如果需要在百度地图上标注某个坐标点,可以在百度地图上右键单击该点,然后选择“添加标注”菜单,弹出的对话框中会显示该点的经度和纬度坐标。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/233909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-11 17:12
下一篇 2024-12-11 17:12

相关推荐

  • 用Python画疫情地图

    COVID-19疫情在全世界范围内肆虐了数月,为了让人们了解当前疫情的最新情况,很多技术人员都开始使用数据可视化的手段展示疫情数据。其中一个重要的展示形式就是利用Python编程语…

    编程 2025-04-29
  • Echarts 地图 Label 增加背景图

    本文将从多个方面对 Echarts 地图 Label 增加背景图进行详细的阐述。 一、背景图的作用 为 Echarts 地图添加背景图可以使 Label 更加直观、美观,提升视觉效…

    编程 2025-04-29
  • ECharts地图轮播

    本文将从插件基础、数据准备及处理、地图呈现、轮播控制等方面,对ECharts地图轮播进行详细阐述。 一、插件基础 ECharts官方提供了一个名为“echarts-gl”的插件,它…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25

发表回复

登录后才能评论