欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java調(diào)用高德地圖API根據(jù)詳細(xì)地址獲取經(jīng)緯度詳細(xì)教程

 更新時(shí)間:2024年04月13日 15:03:57   作者:_江嶼_  
寫了一個(gè)經(jīng)緯度相關(guān)的工具,分享給有需求的小伙伴們,下面這篇文章主要給大家介紹了關(guān)于Java調(diào)用高德地圖API根據(jù)詳細(xì)地址獲取經(jīng)緯度,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下

開(kāi)發(fā)指南:地理/逆地理編碼-API文檔-開(kāi)發(fā)指南-Web服務(wù) API | 高德地圖API

一、首先需要注冊(cè)成為開(kāi)發(fā)者,注冊(cè)成功后就可以使用此開(kāi)放平臺(tái)。

高德開(kāi)放平臺(tái)網(wǎng)址:高德開(kāi)放平臺(tái) | 高德地圖API點(diǎn)擊注冊(cè):

 選擇注冊(cè)方式,注冊(cè)完成進(jìn)入下一步:選擇認(rèn)證方式

我是個(gè)人開(kāi)發(fā),就選個(gè)人認(rèn)證開(kāi)發(fā)者,如果是企業(yè)就選企業(yè)認(rèn)證開(kāi)發(fā)者

 填寫完善信息,進(jìn)行支付寶掃描實(shí)名認(rèn)證,勾選同意,點(diǎn)擊提交資料:

 認(rèn)證結(jié)果:

二、進(jìn)入控制臺(tái)

使用 API 前請(qǐng)您先注冊(cè)高德賬號(hào)申請(qǐng)Key。

1.進(jìn)入控制臺(tái)

我的應(yīng)用 | 高德控制臺(tái)

2.在應(yīng)用管理創(chuàng)建應(yīng)用

 創(chuàng)建好的應(yīng)用:

3.為上面的應(yīng)用添加key

 生成的key:

 注:此key值是以后,請(qǐng)求api所用的key,一定要保存好

服務(wù)示例:https://restapi.amap.com/v3/geocode/geo?address=北京市朝陽(yáng)區(qū)阜通東大街6號(hào)&output=XML&key=<用戶的key>

 請(qǐng)求示例:

示例說(shuō)明:address 是需要獲取坐標(biāo)的結(jié)構(gòu)化地址,output(XML)用于指定返回?cái)?shù)據(jù)的格式,Key是用戶請(qǐng)求數(shù)據(jù)的身份標(biāo)識(shí)。
localtion中逗號(hào)前面為經(jīng)度,后面為緯度

由此api,把地址轉(zhuǎn)為經(jīng)緯度。

三、Java調(diào)用高德地圖API根據(jù)詳細(xì)地址獲取經(jīng)緯度

代碼如下:

package com.example.listdemo.utils;

import com.alibaba.fastjson.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

/**
 * 地址轉(zhuǎn)經(jīng)緯度(使用高德地圖獲取地址信息的經(jīng)緯度)
 */
public class AddressLocationUtil {
    /**
     * Key
     */
    private static String KEY="<高德key>";

    public  static String GD_URL="https://restapi.amap.com/v3/geocode/geo?address=%s&key=%s";

    /**
     * 成功標(biāo)識(shí)
     */
    private static String SUCCESS_FLAG="1";

    /**
     * 根據(jù)地址獲取對(duì)應(yīng)的經(jīng)緯度信息
     * @param address
     * @return
     */
    public static String getLonAndLatByAddress(String address){
        String location="";
        GD_URL = String.format(GD_URL, address, KEY);
        //高德接口返回的是JSON格式的字符串
        String queryResult = getResponse(GD_URL);
        JSONObject obj = JSONObject.parseObject(queryResult);
        if(String.valueOf(obj.get("status")).equals(SUCCESS_FLAG)){
            JSONObject jobJSON = JSONObject.parseObject(obj.get("geocodes").toString().substring(1, obj.get("geocodes").toString().length() - 1));
            location = String.valueOf(jobJSON.get("location"));
        }else{
            throw new RuntimeException("地址轉(zhuǎn)換經(jīng)緯度失敗,錯(cuò)誤碼:" + obj.get("infocode"));
        }
        return location;
    }
    /**
     * 發(fā)送請(qǐng)求
     *
     * @param serverUrl 請(qǐng)求地址
     */
    private static String getResponse(String serverUrl) {
        // 用JAVA發(fā)起http請(qǐng)求,并返回json格式的結(jié)果
        StringBuffer result = new StringBuffer();
        try {
            URL url = new URL(serverUrl);
            URLConnection conn = url.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result.toString();
    }

    public static void main(String[] args) {
        String address="北京市朝陽(yáng)區(qū)阜通東大街6號(hào)";
        String location=getLonAndLatByAddress(address);
        System.out.println("經(jīng)緯度:" + location);
    }
}

執(zhí)行結(jié)果:

附:java 使用高德地圖api傳入經(jīng)緯度獲取海拔高度

可以使用高德地圖的 Web 服務(wù) API 中的地理編碼接口和逆地理編碼接口來(lái)獲取經(jīng)緯度對(duì)應(yīng)的海拔高度信息。

以下是一個(gè)示例代碼:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class AMapAPI {
    public static void main([string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&amp;spm=1055.2569.3001.10083)[] args) {
        try {
            [string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&amp;spm=1055.2569.3001.10083) url = "https://restapi.amap.com/v3/geocode/regeo?key=YOUR_KEY&amp;location=經(jīng)度,緯度&amp;extensions=all";
            // YOUR_KEY 需要替換為高德地圖開(kāi)發(fā)者平臺(tái)申請(qǐng)的 Web 服務(wù) API 的 KEY;
            // 經(jīng)度和緯度需要替換為實(shí)際的值。

            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();

            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            [string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&amp;spm=1055.2569.3001.10083) inputLine;
            [string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&amp;spm=1055.2569.3001.10083)Buffer response = new [string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&amp;spm=1055.2569.3001.10083)Buffer();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();

            // 解析 JSON 數(shù)據(jù),獲取海拔高度信息。
            String result = response.toString();
            int indexStart = result.indexOf("\"elevations\":[") + "\"elevations\":[".length();
            int indexEnd = result.indexOf("]", indexStart);
            String elevations = result.substring(indexStart, indexEnd);
            System.out.println("海拔高度(單位:米):" + elevations);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

需要注意的是,該接口有頻率限制和調(diào)用次數(shù)限制,需要根據(jù)開(kāi)發(fā)者平臺(tái)的規(guī)定進(jìn)行調(diào)用。同時(shí),由于該接口需要訪問(wèn)互聯(lián)網(wǎng),因此需要保證網(wǎng)絡(luò)連接正常。

總結(jié) 

到此這篇關(guān)于Java調(diào)用高德地圖API根據(jù)詳細(xì)地址獲取經(jīng)緯度的文章就介紹到這了,更多相關(guān)Java調(diào)用高德地圖獲取經(jīng)緯度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)鼠標(biāo)拖拽移動(dòng)界面組件

    Java實(shí)現(xiàn)鼠標(biāo)拖拽移動(dòng)界面組件

    在Java中,F(xiàn)rame或者JFrame自身已經(jīng)實(shí)現(xiàn)了鼠標(biāo)拖拽標(biāo)題欄移動(dòng)窗口的功能。但是Jframe的樣式實(shí)在無(wú)法令人滿意,那你又該怎么實(shí)現(xiàn)鼠標(biāo)拖拽移動(dòng)窗口的目的呢?今天我們來(lái)探討下
    2014-09-09
  • Java詳解Swing中的幾種常用按鈕的使用

    Java詳解Swing中的幾種常用按鈕的使用

    這篇文章主要介紹了怎么用Java來(lái)創(chuàng)建和使用Swing中的幾種常用按鈕,按鈕是我們經(jīng)常要用的工具,但是你有想過(guò)自己怎么去實(shí)現(xiàn)它嗎,感興趣的朋友跟隨文章往下看看吧
    2022-04-04
  • Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)

    Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)

    本篇文章給大家詳細(xì)講述了Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)的方法,以及代碼分享,有興趣的參考學(xué)習(xí)下。
    2018-02-02
  • java動(dòng)態(tài)導(dǎo)出excel壓縮成zip下載的方法

    java動(dòng)態(tài)導(dǎo)出excel壓縮成zip下載的方法

    這篇文章主要為大家詳細(xì)介紹了java動(dòng)態(tài)導(dǎo)出excel壓縮成zip下載的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Java實(shí)現(xiàn)瀏覽器端大文件分片上傳

    Java實(shí)現(xiàn)瀏覽器端大文件分片上傳

    本文主要介紹了Java實(shí)現(xiàn)瀏覽器端大文件分片上傳,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Spring?JPA?find分頁(yè)示例詳解

    Spring?JPA?find分頁(yè)示例詳解

    這篇文章主要為大家介紹了Spring?JPA?find分頁(yè)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Java中Array、List、ArrayList的區(qū)別及說(shuō)明

    Java中Array、List、ArrayList的區(qū)別及說(shuō)明

    這篇文章主要介紹了Java中Array、List、ArrayList的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 使用JMX監(jiān)控Zookeeper狀態(tài)Java API

    使用JMX監(jiān)控Zookeeper狀態(tài)Java API

    今天小編就為大家分享一篇關(guān)于使用JMX監(jiān)控Zookeeper狀態(tài)Java API,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Spring?Boot?Shiro?auto-configure工作流程詳解

    Spring?Boot?Shiro?auto-configure工作流程詳解

    這篇文章主要為大家介紹了Spring?Boot?Shiro?auto-configure工作流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java遞歸如何正確輸出樹(shù)形菜單

    Java遞歸如何正確輸出樹(shù)形菜單

    這篇文章主要為大家詳細(xì)介紹了Java遞歸如何正確輸出樹(shù)形菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評(píng)論