经纬度解析地址传到后台

要求调高德地图根据经纬度返回详细地址,服务器不能访问外网,只能通过前台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;k<tabledata.length;k++){
						 v[k]=k;
						var tablecloum=tabledata[k].addressComponent;
						var shengfen=tablecloum.province;
						var chengshi=tablecloum.city;
						var dizhi=tablecloum.township+tablecloum.streetNumber.street+tablecloum.streetNumber.number;
						if(""==chengshi||null==chengshi){
							chengshi=shengfen;
							shengfen=shengfen.replace("市", "");
						}
						var datas={"PROVINCE":shengfen,"CITY":chengshi,"ADDRESS":chengshi,
								"LONGITUDE":objalllist[k].longitude,"LATITUDE":objalllist[k].latitude,"VIN":objalllist[k].vin}
						 var data_opt = {
	  							vins: objalllist[k].vin,
	  							jindus: objalllist[k].longitude,
	  							weidus:objalllist[k].latitude,
	  							datetm:"",
	  							provice:shengfen,
	  							city:chengshi,
	  							address: dizhi,
	  							locatedtime:objalllist[k].locatedtime
	  					};
						datass.push(data_opt);
					 }
			    }  
			}); 
}

2.把datass传到后台,说下坑人的地方,

自己拼接json传到后台有有&quot;不知道是空格还是其他原因,要去掉datas.replaceAll("&quot;", "\""),

由于传的数据比较多,快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();
<form name="operationframeFile" action="${contextPath}/xxx" method="post" style="display:none;" target="dom_click" >
 	<input type="hidden"  name="${_csrf.parameterName}" value="${_csrf.token}"/>
 	<input type ="hidden" name="datas" value="">
 	<input type ="hidden" name="startdates" value="">
 	<input type ="hidden" name="enddates" value="">
 </form>




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 List<GaodenizhuansDto> datalist;

	public List<GaodenizhuansDto> getDatalist() {
		return datalist;
	}

	public void setDatalist(List<GaodenizhuansDto> datalist) {
		this.datalist = datalist;
	}


}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值