百度LBS地址整合Leaflet地图

百度 LBS概述

百度公司推出了强大的LBS解决方案,包括百度LBS地址转换。
百度LBS地址转换是一项提供地理位置信息转换为具体地址的服务。可以将经纬度坐标转化为实际的地址,从而方便开发者在地图应用、导航应用和其他位置相关的应用中使用。
百度LBS地址转换基于百度的地图数据和算法,通过将经纬度坐标与百度地图中的位置信息进行匹配,从而确定具体的地址。该服务支持将单个经纬度坐标转换为地址,也支持批量转换多个坐标

使用百度LBS地址转换步骤

1、获取百度开放平台的密钥:在使用百度LBS地址转换之前,开发者需要在百度开放平台注册并获取相应的密钥。这个密钥将用于调用百度地图API接口。
2、调用地址转换API:开发者可以使用百度提供的地址转换API,向API接口发送请求并传入经纬度坐标。API将返回相应的地址信息,包括国家、省份、城市、街道等详细信息。
3、解析返回结果:开发者需要解析API返回的结果,获取需要的地址信息。可以根据自己的需求,选择提取特定的地址信息,如城市、街道等。

应用场景

1、地图应用:百度LBS地址转换为地图应用提供了精准的地址解析功能,使得用户能够通过输入具体的地址快速定位到目标位置。
2、导航应用:百度LBS地址转换可将经纬度坐标转化为具体地址,提供给导航应用使用。这样用户就可以通过输入目的地的经纬度坐标,快速获取导航路线。
3、配送服务:在物流配送等领域,百度LBS地址转换可以将经纬度坐标转化为实际地址,从而提供准确的配送目的地信息。

申请服务密钥(AK)

进入百度地图开放平台,注册账号,如果之前有百度账号,可以直接使用。
在这里插入图片描述
点击上方的地理编码
在这里插入图片描述
如果之前已有账号,就直接点击第3步:获取服务密钥(AK)。
在这里插入图片描述
复制上方的AK。(注意:要查看当前的应用设置的白名单的ip地址,一定要使用白名单中的ip进行访问。)
对于Leaflet,本篇文章不再赘述,请查看之前的Leaflet详解文章。

案例

需求:
在一个页面输入地址名称,点击按钮,跳到另外一个页面,在该页面显示此地址在地图上的位置。

工具类

package com.soft.controller;
import org.springframework.web.util.UriUtils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;

public class SearchHttpAK {
   
    /**
     * 默认ak
     * 选择了ak,使用IP白名单校验:
     * 根据您选择的AK已为您生成调用代码
     * 检测到您当前的ak设置了IP白名单校验
     * 您的IP白名单中的IP非公网IP,请设置为公网IP,否则将请求失败
     * 请在IP地址为xxxxxxx的计算发起请求,否则将请求失败
     */
    public String requestGetAK(String strUrl, Map<String, String> param) throws Exception {
   
        if (strUrl == null || strUrl.length() <= 0 || param == null || param.size() <= 0) {
   
            return null;
        }

        StringBuffer queryString = new StringBuffer();
        queryString.append(strUrl);
        for (Map.Entry<?, ?> pair : param.entrySet()) {
   
            queryString.append(pair.getKey() + "=");
            //    第一种方式使用的 jdk 自带的转码方式  第二种方式使用的 spring 的转码方法 两种均可
            //    queryString.append(URLEncoder.encode((String) pair.getValue(), "UTF-8").replace("+", "%20") + "&");
            queryString.append(UriUtils.encode((String) pair.getValue(), "UTF-8") + "&");
        }

        if (queryString.length() > 0) {
   
            queryString.deleteCharAt(queryString.length() - 1);
        }

        java.net.URL url = new URL(queryString.toString());
        System.out.println(queryString.toString());
        URLConnection httpConnection = (HttpURLConnection) url.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值