目录

一、登录到百度地图开放平台

二、认证为开发者

三、创建应用

四、地址转经纬度API接口

五、封装JAVA工具类


一、登录到百度地图开放平台

百度地图开放平台网址:https://lbsyun.baidu.com/

如何利用地图API接口根据地址获取具体的经纬度?_xml

二、认证为开发者

这里你有两种选择,可以选择认证个人开发者或者企业开发者,区别在企业认证每日接口调用次数配额更多,并发调用频率越高。

如何利用地图API接口根据地址获取具体的经纬度?_xml_02

三、创建应用

如何利用地图API接口根据地址获取具体的经纬度?_开发语言_03

 白名单限制填写:0.0.0.0/0 即可,便于调试。

四、地址转经纬度API接口

https://api.map.baidu.com/geocoding/v3/?address=天津宝坻区钰华街道金玉一园&output=xml&ak=IfyIr3ZMDihB6QTAVw4GoFBsX7Z6nEPb

 这里output支持json和xml格式返回。

如何利用地图API接口根据地址获取具体的经纬度?_开发语言_04

如何利用地图API接口根据地址获取具体的经纬度?_xml_05

五、封装JAVA工具类

package com.ruoyi.common.utils;

import cn.hutool.core.util.XmlUtil;
import cn.hutool.http.HttpUtil;
import org.w3c.dom.Document;

import javax.xml.xpath.XPathConstants;
import java.util.HashMap;
import java.util.Map;

/**
 * 百度地图定位接口
 */
public class BaiduMapUtils {

    public static Map<String, String> getAddressLngLat(String address) {
        Map<String, String> result = new HashMap<>();
        final String ak_token = "ak密钥";
        String xml = HttpUtil.get("https://api.map.baidu.com/geocoding/v3/?address=" + address + "&output=xml&ak=" + ak_token);
        try {
            Document doc = XmlUtil.parseXml(xml);
            String lng = (String) XmlUtil.getByXPath("//location/lng", doc, XPathConstants.STRING);
            String lat = (String) XmlUtil.getByXPath("//location/lat", doc, XPathConstants.STRING);
            System.out.println("lng = " + lng);
            System.out.println("lat = " + lat);
            result.put("lng", lng);
            result.put("lat", lat);
        } catch (Exception e) {
            System.out.println(" 百度地址解析异常" + e.getMessage());
            return null;
        }
        return result;
    }
}