要求调高德地图根据经纬度返回详细地址,服务器不能访问外网,只能通过前台ajax请求高德地图,然后传到后台。
1.调高德逆地理解析api,存到datass集合里
var urlgd="https://restapi.amap.com/v3/geocode/regeo?output=json&key=花钱买key!aa538e8ab3e968bc37f4a5f&" + "location=" +allstrlocation+"&radius=0&batch=true"; $.ajax({ type : "get", url : urlgd, data : null, // dataType: "json", async : false,//取消异步 success : function(data){ var tabledata=data.regeocodes; var v = new Array(); for(var k=0;k2.把datass传到后台,说下坑人的地方, 自己拼接json传到后台有有"不知道是空格还是其他原因,要去掉datas.replaceAll(""", "\""),
由于传的数据比较多,快1M了,框架没配好服务器接收不了,后来只得限制数据量,或者用其他方式(都是服务不能访问外网引起的艹),这里我用form post提交,
var jsonData =JSON.stringify(datass); $("input[name=datas]").val(jsonData); $("input[name=startdates]").val(startdate); $("input[name=enddates]").val(enddate); $("form[name=operationframeFile]").submit();
3.接收和解析
@RequestMapping("xxx") public void downNewestPosition(HttpServletResponse response, HttpServletRequest request, @RequestParam(value="startdates",defaultValue="",required=false)String startdates, @RequestParam(value="enddates",defaultValue="",required=false)String enddates, String datas,String _csrf) throws ParseException { datas=datas.replaceAll(""", "\""); datas="{\"datalist\":"+datas+"}"; GaodenizhuanDto dto=JsonUtil.getEntity(datas,GaodenizhuanDto.class); import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @JsonIgnoreProperties(ignoreUnknown = true) public class GaodenizhuanDto implements Serializable { /** * */ private static final long serialVersionUID = 1L; @JsonProperty("datalist") public Listdatalist; public List getDatalist() { return datalist; } public void setDatalist(List datalist) { this.datalist = datalist; } }