最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

高德開放平臺網(wǎng)址:高德開放平臺 | 高德地圖API點擊注冊:

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

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

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

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

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

使用 API 前請您先注冊高德賬號申請Key。

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

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

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

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

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

 生成的key:

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

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

 請求示例:

示例說明:address 是需要獲取坐標(biāo)的結(jié)構(gòu)化地址,output(XML)用于指定返回數(shù)據(jù)的格式,Key是用戶請求數(shù)據(jù)的身份標(biāo)識。
localtion中逗號前面為經(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)識
     */
    private static String SUCCESS_FLAG="1";

    /**
     * 根據(jù)地址獲取對應(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)緯度失敗,錯誤碼:" + obj.get("infocode"));
        }
        return location;
    }
    /**
     * 發(fā)送請求
     *
     * @param serverUrl 請求地址
     */
    private static String getResponse(String serverUrl) {
        // 用JAVA發(fā)起http請求,并返回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="北京市朝陽區(qū)阜通東大街6號";
        String location=getLonAndLatByAddress(address);
        System.out.println("經(jīng)緯度:" + location);
    }
}

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

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

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

以下是一個示例代碼:

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 需要替換為高德地圖開發(fā)者平臺申請的 Web 服務(wù) API 的 KEY;
            // 經(jīng)度和緯度需要替換為實際的值。

            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ù)開發(fā)者平臺的規(guī)定進(jìn)行調(diào)用。同時,由于該接口需要訪問互聯(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java求最小生成樹的兩種算法詳解

    Java求最小生成樹的兩種算法詳解

    最小生成樹(Minimum Spanning Tree):在連通圖的所有生成樹中,所有邊的權(quán)值和最小的生成樹,稱為最小生成樹。這篇文章主要介紹了求最小生成樹的兩種方法:Prim算法和Kruskal算法,需要的可以參考一下
    2022-01-01
  • web項目WEB-INF下沒有web.xml的解決方法

    web項目WEB-INF下沒有web.xml的解決方法

    新手如果在web項目創(chuàng)建后WEB-INF下面沒有出現(xiàn)web.xml,怎么辦?別慌,沒有web.xml文件的原因是因為在創(chuàng)建web項目的時候沒有把創(chuàng)建web.xml勾上。這篇文章主要介紹了web項目WEB-INF下沒有web.xml的解決方法,需要的朋友可以參考下
    2022-12-12
  • Spring Boot 與 Kotlin 使用JdbcTemplate連接MySQL數(shù)據(jù)庫的方法

    Spring Boot 與 Kotlin 使用JdbcTemplate連接MySQL數(shù)據(jù)庫的方法

    本文介紹在Spring Boot基礎(chǔ)下配置數(shù)據(jù)源和通過 JdbcTemplate 編寫數(shù)據(jù)訪問的示例。感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-01-01
  • 一文搞懂Spring中的注解與反射

    一文搞懂Spring中的注解與反射

    這篇文章主要為大家介紹了Spring中的注解與反射的原理與實現(xiàn),文中的示例代碼講解詳細(xì),對我們了解Spring有一定的幫助,需要的可以參考一下
    2022-06-06
  • MyBatis-Plus 批量插入數(shù)據(jù)的操作方法

    MyBatis-Plus 批量插入數(shù)據(jù)的操作方法

    spring boot+mybatis plus環(huán)境,單條插入用的是BaseMapper自帶的insert方法,本文重點給大家介紹MyBatis-Plus 批量插入數(shù)據(jù)的操作方法,感興趣的朋友一起看看吧
    2021-09-09
  • 去掉IntelliJ IDEA 中 mybatis 對應(yīng)的 xml 文件警告的教程圖解

    去掉IntelliJ IDEA 中 mybatis 對應(yīng)的 xml 文件警告的教程圖解

    本文通過圖文并茂的形式給大家介紹了去掉IntelliJ IDEA 中 mybatis 對應(yīng)的 xml 文件警告的教程,需要的朋友可以參考下
    2018-06-06
  • 細(xì)說Springcloud eureka的幾種主動下線服務(wù)的方式

    細(xì)說Springcloud eureka的幾種主動下線服務(wù)的方式

    這篇文章主要介紹了細(xì)說Springcloud eureka的幾種主動下線服務(wù)的方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • SpringBoot整合mybatis-plus實現(xiàn)分頁查詢功能

    SpringBoot整合mybatis-plus實現(xiàn)分頁查詢功能

    這篇文章主要介紹了SpringBoot整合mybatis-plus實現(xiàn)分頁查詢功能,pringBoot分頁查詢的兩種寫法,一種是手動實現(xiàn),另一種是使用框架實現(xiàn),現(xiàn)在我將具體的實現(xiàn)流程分享一下,需要的朋友可以參考下
    2023-11-11
  • Java中try-catch的使用及注意細(xì)節(jié)

    Java中try-catch的使用及注意細(xì)節(jié)

    現(xiàn)在有很多的語言都支持try-catch,比如常見的就是c++,java等,這篇文章主要給大家介紹了關(guān)于Java中try-catch的使用及注意細(xì)節(jié)的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • JDBC環(huán)境設(shè)置(中文詳解)

    JDBC環(huán)境設(shè)置(中文詳解)

    要開始使用JDBC設(shè)置,按照以下所示的步驟開發(fā)JDBC環(huán)境。以下內(nèi)容假設(shè)Windows平臺上
    2014-03-03

最新評論

饶河县| 沙洋县| 巴青县| 岱山县| 乐平市| 彭水| 贵溪市| 灵丘县| 靖江市| 深泽县| 巴青县| 兴仁县| 邢台县| 天等县| 讷河市| 资兴市| 乐山市| 皮山县| 景德镇市| 延长县| 山东| 孙吴县| 如东县| 仙游县| 张家港市| 安徽省| 东乡县| 抚远县| 肃南| 修文县| 鱼台县| 肇庆市| 怀远县| 星座| 隆安县| 郓城县| 晋州市| 兴义市| 庄河市| 樟树市| 昌宁县|