用户在使用平台的时候是看不懂经纬度信息的。所以有的时候就需要吧经纬度转换成地址展示给用户。所以就在网上找了个方法写了一个工具类。
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.alibaba.fastjson.JSONObject;
/**
* 百度地图api 根据经纬度获取地址信息
* @author
*/
@Component("baiduMapUtil")
public class BaiduMapUtil {
@Resource
private HttpUtil httpUtil;
public String getCity(String lat, String lng) {
JSONObject obj = getLocationInfo(lat, lng).getJSONObject("result")
.getJSONObject("addressComponent");
return obj.getString("city");
}
/**
* 根基经纬度获取所在地理位置
* @param lng 经度
* @param lat 纬度
* @return
*/
public JSONObject getLocationInfo( String lng,String lat) {
String urlStr = "http://api.map.baidu.com/geocoder/v2/?location=" + lat + ","+ lng + "&output=json&ak=0hT82pj7F8UQM9jkMEsVHeWn8rbN5XFn&pois=0";
String result = httpUtil.methodGet(urlStr);
JSONObject res = (JSONObject) JSONObject.parse(result);
JSONObject res2 = (JSONObject) res.get("result");
JSONObject res3 = (JSONObject) res2.get("addressComponent");
return res;
}
}