springboot使用百度地图IP定位API进行定位
一、申请开发者密钥(AK)二、在springboot中调用百度地图的API1、新建一个接口类2、在controller层调用此接口对返回的数据进行提取注:一、申请开发者密钥(AK)
百度地图定位服务
申请密钥后,可以在控制台-应用管理-我的应用里面查看密钥,如下图所示。
二、在springboot中调用百度地图的API
1、新建一个接口类
新建一个一个包client,在包下面新建一个类命名为baiduMap
package com.zhou.client;import com.dtflys.forest.annotation.Get;import org.springframework.stereotype.Repository;import java.util.Map;//持久层@Repositorypublic interface baiduMap {//{0}和{1}处分别会携带参数ak和ip,访问地址http://api./location/ip@Get("http://api./location/ip?ak=${0}&ip=${1}&coor=bd09ll")Map getLocation(String ak, String ip);}
2、在controller层调用此接口
//获取ip String ip=httpServletRequest.getRemoteAddr();Map<Object,Object> result = baiduMap_1.getLocation("....'填写密钥'....", ip);
请求成功后会返回如图所示的参数
对返回的数据进行提取
//先获取键值对content的值,然后将其将转为map类型Map content = (Map) result.getOrDefault("content","无");//获取address信息String address = (String) content.getOrDefault("address","无");
注:
1、普通用户只能使用IPV4定位服务,如需使用IPV6定位服务需要提交工单,IPV6定位服务属于付费服务且需要进行企业认证。
2、可能会出现查询不成功的情况,这时注意查看返回数据的状态码,根据状态码查询错误原因。
附:
官方接口错误码说明