高德地图API-获取位置信息的经纬度

Posted 12程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高德地图API-获取位置信息的经纬度相关的知识,希望对你有一定的参考价值。

开发指南:https://lbs.amap.com/api/webservice/guide/api/georegeo/

一、首先需要注册成为开发者,注册成功后就可以使用此开放平台。

高德开放平台网址:https://lbs.amap.com/
点击注册:

选择注册方式,注册完成进入下一步:选择认证方式

我是个人开发,就选个人认证开发者,如果是企业就选企业认证开发者


填写完善信息,进行支付宝扫描实名认证,勾选同意,点击提交资料:

认证结果:

二、进入控制台

使用 API 前请您先注册高德账号申请Key
1.进入控制台
https://console.amap.com/dev/key/app
2.在应用管理创建应用

创建好的应用:

3.为上面的应用添加key

生成的key:

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

服务示例:
https://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&output=XML&key=<用户的key>


请求示例:

示例说明:address 是需要获取坐标的结构化地址,output(XML)用于指定返回数据的格式,Key是用户请求数据的身份标识。
localtion中逗号前面为经度,后面为纬度

由此api,把地址转为经纬度。

三、Java调用高德地图API根据详细地址获取经纬度

代码如下:

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;

/**
 * 地址转经纬度(使用高德地图获取地址信息的经纬度)
 * @author qzz
 */
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";

    /**
     * 成功标识
     */
    private static String SUCCESS_FLAG="1";

    /**
     * 根据地址获取对应的经纬度信息
     * @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("地址转换经纬度失败,错误码:" + obj.get("infocode"));
        
        return location;
    
    /**
     * 发送请求
     *
     * @param serverUrl 请求地址
     */
    private static String getResponse(String serverUrl) 
        // 用JAVA发起http请求,并返回json格式的结果
        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="北京市朝阳区阜通东大街6号";
        String location=getLonAndLatByAddress(address);
        System.out.println("经纬度:" + location);
    


执行结果:

uniapp高德经纬度限制个球?

参考技术A 1、打开高德地图官网,对着你想要查看经纬度的地点右键,再点击这是哪儿。
2、点击更多,再点击分享。
3、复制并打开分享出来的地址。
4、查看地址栏,前一部分的数字就是经度数据,后一部分则是纬度。

以上是关于高德地图API-获取位置信息的经纬度的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置高德地图位置

Android高德通过经纬度获取地理位置

java利用高德地图API将经纬度转换为具体的位置显示

百度地图API 怎么根据输入城市自动定位到该城市中心地点呢

JS爬取高德地图地址信息(周边设施经纬度)

小程序可以实现地图点选 获取经纬度位置信息功能吗?