一个servlet实现GPS坐标偏移接口功能
来源:互联网 发布:windows bat date 编辑:程序博客网 时间:2024/06/05 11:31
这两天写了一个servlet,用于实现GPS坐标偏移接口功能。大概就是,我需要首先接收一个经纬度串数组,然后用json解析,给URL服务发送请求,服务器返回json格式的数组.
1 需要引入json-simple-1.1的类库。
2 web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>GPSConventCoordinateServlet</servlet-name> <servlet-class>com.tm.gpsController.GPSConventCoordinateServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>GPSConventCoordinateServlet</servlet-name> <url-pattern>/GPSConventCoordinateServlet</url-pattern> </servlet-mapping> </web-app>
3 参照GPS坐标偏移接口文档,具体servlet代码如下:
package com.tm.gpsController;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.json.simple.JSONArray;import org.json.simple.JSONObject;import org.json.simple.parser.JSONParser;import org.json.simple.parser.ParseException;public class GPSConventCoordinateServlet extends HttpServlet { private static final long serialVersionUID = 3018725984829044717L; protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 我申请的key String a_k = "XXXXXX"; String coors = req.getParameter("lonLatStr"); JSONParser parser = new JSONParser(); Object obj = ""; try { obj = parser.parse(coors); } catch (ParseException e) { e.printStackTrace(); } String lonLatStr = ""; JSONArray array = (JSONArray) obj; for (Object j : array) { // lonLatStr = lonLatStr + ((JSONObject) j).get("lon") + "," + ((JSONObject) j).get("lat") + ";"; } lonLatStr = lonLatStr.substring(0, lonLatStr.length() - 1); String postParam = "config=RGC&flag=true&resType=json&cr=0&coors=" + lonLatStr + "&a_k=" + a_k; System.out.println(postParam); // 服务地址 String urlString = "XXXXXX"; URL url = new URL(urlString); URLConnection urlc = url.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection) urlc; httpConnection.setRequestMethod("POST"); httpConnection.setDoInput(true); httpConnection.setDoOutput(true); httpConnection.connect(); OutputStreamWriter osw = new OutputStreamWriter( new BufferedOutputStream(httpConnection.getOutputStream())); osw.write(postParam); osw.flush(); System.out.println(); osw.close(); BufferedReader br = new BufferedReader(new InputStreamReader( httpConnection.getInputStream())); String line; StringBuffer sbuffB = new StringBuffer(); while ((line = br.readLine()) != null) { sbuffB.append(line + "\n"); System.out.println(line); } br.close(); httpConnection.disconnect(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }}
4 启动tomcat,部署一下,运行。
5 在浏览器中输入
http://localhost:8080/gpsCoordinateConvent/GPSConventCoordinateServlet?lonLatStr=[{"lon":133.34,"lat":35.33},{"lon":134.33,"lat":34.33]进行测试。
6 在控制台输出返回的信息{"message":"ok","list":[{"gridcode":"873482645301","y":"582.5422219509549","x":"582.5422219509549"},{"gridcode":"873482645301","y":"582.5422219509549","x":"582.5422219509549"}]} 就对了。
注意 在浏览器中输入的参数lonLatStr=[{"lon":133.34,"lat":35.33},{"lon":134.33,"lat":34.33] 参数格式有时候输入的特殊,服务器端就会返回一个默认的返回的结果。"[{"gridcode":"873482645301","y":"582.5422219509549","x":"582.5422219509549"},这时候,其实程序是没有问题的,只需要改一下参数,就可以了。
- 一个servlet实现GPS坐标偏移接口功能
- 通过偏移将GPS坐标转换成百度坐标--js实现
- 通过偏移将GPS坐标转换成百度坐标--服务端实现
- Google地球(GPS)坐标之地图坐标偏移
- GPS坐标 转换偏移 成百度地图 坐标
- GPS火星坐标转换接口+天气预报接口
- 百度API接口把GPS坐标转换为百度坐标
- 火星坐标、偏移、加偏和纠偏、无偏的理解--gps纠偏专业技术
- Android实现GPS定位功能
- GPS经纬度及谷歌地图坐标转换为百度地图坐标,解决地图显示经纬度的偏移问题
- 偏移宏、COM基础和接口实现
- 关于GPS坐标转百度坐标与goolg坐标转百度坐标java代码实现方法
- 如何使用Servlet和filter实现:一个Servlet文件完成多个Servlet功能
- 一个简单的java web程序(servlet实现接口)
- 做一个GPSCar类,要求继承Car类,并实现GPS接口
- 做一个GPSCar类,要求继承Car类,并实现GPS接口
- 用servlet实现一个注册功能 ,后台获取数据
- jsp+javaBean+servlet+mysql完整的实现一个登录功能
- hdu 1213 并差集
- hdu-4112-Break the Chocolate
- 浣溪沙——纳兰性德
- hdu 1421 dp
- 关于java中<T>问题
- 一个servlet实现GPS坐标偏移接口功能
- hdu 1568 斐波那契性质
- Program perl 数据结构
- hdu 1587 简单完全背包
- hdu 3635 带权并查集
- 对一组数穷尽所有排列的算法
- 【JAX-WS入门系列】第05章_契约优先开发及隐式声明头信息
- hdu 1856 并差集
- insert /*+append*/和各种insert插入速度比较