百度地图轨迹纠偏服务接口调用

package com.test.demo;

import java.util.Date;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.commons.httpclient.NameValuePair;

import com.ucee.test.app.WSClient;

public class Trackrectify {


    private final static String BMAP_AK = "百度地图AK";
    private final static String URL = "http://api.map.baidu.com/rectify/v1/track?";

    public static void main(String[] args) {

NameValuePair[] data = new NameValuePair[2];
        data[0] = new NameValuePair("ak", BMAP_AK);
        data[1] = new NameValuePair("point_list", getReqData());
        String resMsg = WSClient.httpPost(URL, data, "UTF-8");
        System.out.println("纠偏返回数据:" + resMsg);

    }


    private static String getReqData() {
        JSONArray reqArray = new JSONArray();
        JSONObject obj = new JSONObject();
        obj.put("latitude", "22.5687645");
        obj.put("longitude", "113.9590789");
        obj.put("coord_type_input", "bd09ll");
        obj.put("loc_time", unixTime());
        reqArray.add(obj);
        return reqArray.toString();
    }

    /**
     * 此处特别注意是unix时间
     */
    public static long unixTime() {
        return new Date().getTime() / 1000;
    }

}

 WSClient源码:

package com.ucee.test.app;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class WSClient {

	/**
	 * 接收http post协议的信息
	 * @param url 请求地址
	 * @param data 表单参数
	 * @param encoding 编码
	 * @return 服务端返回信息
	 * @throws Exception
	 */
	public static String httpPost(String url,NameValuePair[] data,String encoding){
		PostMethod hm = null;
		InputStream is = null;
		InputStreamReader isr = null;
		BufferedReader br = null;
		try{
			MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
			HttpClient hc = new HttpClient(connectionManager);
			hc.getParams().setHttpElementCharset(encoding);
			hm = new PostMethod(url);
			hm.setRequestBody(data);
			hm.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
			hc.executeMethod(hm);
			if(hm.getStatusCode()==200){
				is = hm.getResponseBodyAsStream();
				isr = new InputStreamReader(is,encoding);
				br = new BufferedReader(isr);
				String line="";
				StringBuffer sb = new StringBuffer();
		    	while((line=br.readLine())!=null){
		    		sb.append(line);
		    	}
				return sb.toString();
			}
		}catch(Exception e){
			e.printStackTrace();		
        }finally{
			try{
				if(null!=br){
					br.close();
				}
				if(null!=isr){
					isr.close();
				}
				if(null!=is){
					is.close();
				}
				if(null!=hm){
					hm.releaseConnection();
				}
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		return null;
	}

}

 

API文档地址:http://lbsyun.baidu.com/index.php?title=webapi/guide/trackrectify

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值