package com.nova.sankuai.infra.utils;
|
|
import cn.hutool.http.HttpUtil;
|
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONUtil;
|
import com.nova.sankuai.domain.vo.common.MapVo;
|
import com.nova.sankuai.infra.constants.Constants;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang.StringUtils;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
|
/**
|
* @author weikangdi
|
*/
|
@Slf4j
|
public class MapUtil {
|
/**
|
* Baidu地图api密钥
|
*/
|
private static final String AK = "ebNPdEkizOCs8LtWwmEKmvDd86MVdCOq";
|
private static final String URL = "https://api.map.baidu.com/place/v2/suggestion";
|
|
/**
|
* 调用百度地图API根据地址,获取坐标
|
*/
|
public static List<MapVo> searchPlace(String query, String city) {
|
List<MapVo> mapVoList = new ArrayList<>();
|
HashMap<String, Object> paramMap = new HashMap<>();
|
if (StringUtils.isNotBlank(city)) {
|
paramMap.put("region", city);
|
paramMap.put("city_limit", true);
|
} else {
|
paramMap.put("region", " ");
|
paramMap.put("city_limit", false);
|
}
|
paramMap.put("query", query);
|
paramMap.put("output", "json");
|
paramMap.put("ak", AK);
|
String result = HttpUtil.get(URL, paramMap);
|
if (StringUtils.isNotBlank(result)) {
|
JSONObject jsonResults = JSONUtil.parseObj(result);
|
if (Constants.SUCCESS_CODE.equals(jsonResults.getStr("status"))) {
|
mapVoList = JSONUtil.toList(jsonResults.getStr("result"), MapVo.class);
|
return mapVoList;
|
}
|
}
|
return mapVoList;
|
}
|
|
}
|