百度地圖坐標轉換詳解

一、百度地圖坐標轉換經緯度

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/zh-tw/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

發表回復

登錄後才能評論