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 searchPlace(String query, String city) { List mapVoList = new ArrayList<>(); HashMap 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; } }