转 GCJ02坐标系和WGS84转换
高德api https://lbs.amap.com/api/webservice/guide/api/convert
高德jsapi https://lbs.amap.com/api/javascript-api/guide/transform/convertfrom
http://www.voidcn.com/article/p-vqdrhuku-qq.html
https://github.com/wandergis/coordtransform
https://lbs.amap.com/api/webservice/guide/api/convert
HttpRequest.java
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.io.PrintWriter; 5 import java.net.URL; 6 import java.net.URLConnection; 7 import java.util.List; 8 import java.util.Map; 9 10 public class HttpRequest { 11 /** 12 * 向指定URL发送GET方法的请求 13 * 14 * @param url 15 * 发送请求的URL 16 * @param param 17 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 18 * @return URL 所代表远程资源的响应结果 19 */ 20 public static String sendGet(String url, String param) { 21 String result = ""; 22 BufferedReader in = null; 23 try { 24 String urlNameString = url + "?" + param; 25 URL realUrl = new URL(urlNameString); 26 // 打开和URL之间的连接 27 URLConnection connection = realUrl.openConnection(); 28 // 设置通用的请求属性 29 connection.setRequestProperty("accept", "*/*"); 30 connection.setRequestProperty("connection", "Keep-Alive"); 31 connection.setRequestProperty("user-agent", 32 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); 33 // 建立实际的连接 34 connection.connect(); 35 // 获取所有响应头字段 36 Map<String, List<String>> map = connection.getHeaderFields(); 37 // 遍历所有的响应头字段 38 for (String key : map.keySet()) { 39 System.out.println(key + "--->" + map.get(key)); 40 } 41 // 定义 BufferedReader输入流来读取URL的响应 42 in = new BufferedReader(new InputStreamReader( 43 connection.getInputStream())); 44 String line; 45 while ((line = in.readLine()) != null) { 46 result += line; 47 } 48 } catch (Exception e) { 49 System.out.println("发送GET请求出现异常!" + e); 50 e.printStackTrace(); 51 } 52 // 使用finally块来关闭输入流 53 finally { 54 try { 55 if (in != null) { 56 in.close(); 57 } 58 } catch (Exception e2) { 59 e2.printStackTrace(); 60 } 61 } 62 return result; 63 } 64 65 /** 66 * 向指定 URL 发送POST方法的请求 67 * 68 * @param url 69 * 发送请求的 URL 70 * @param param 71 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 72 * @return 所代表远程资源的响应结果 73 */ 74 public static String sendPost(String url, String param) { 75 PrintWriter out = null; 76 BufferedReader in = null; 77 String result = ""; 78 try { 79 URL realUrl = new URL(url); 80 // 打开和URL之间的连接 81 URLConnection conn = realUrl.openConnection(); 82 // 设置通用的请求属性 83 conn.setRequestProperty("accept", "*/*"); 84 conn.setRequestProperty("connection", "Keep-Alive"); 85 conn.setRequestProperty("user-agent", 86 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); 87 // 发送POST请求必须设置如下两行 88 conn.setDoOutput(true); 89 conn.setDoInput(true); 90 // 获取URLConnection对象对应的输出流 91 out = new PrintWriter(conn.getOutputStream()); 92 // 发送请求参数 93 out.print(param); 94 // flush输出流的缓冲 95 out.flush(); 96 // 定义BufferedReader输入流来读取URL的响应 97 in = new BufferedReader( 98 new InputStreamReader(conn.getInputStream())); 99 String line; 100 while ((line = in.readLine()) != null) { 101 result += line; 102 } 103 } catch (Exception e) { 104 System.out.println("发送 POST 请求出现异常!"+e); 105 e.printStackTrace(); 106 } 107 //使用finally块来关闭输出流、输入流 108 finally{ 109 try{ 110 if(out!=null){ 111 out.close(); 112 } 113 if(in!=null){ 114 in.close(); 115 } 116 } 117 catch(IOException ex){ 118 ex.printStackTrace(); 119 } 120 } 121 return result; 122 } 123 }
xxController.java
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller @RequestMapping("/xx") public class xxController { @AuthPassport @RequestMapping(value = "/test", method = RequestMethod.POST) @ResponseBody public Map<String, Object> test(String lat, String lon) { StringBuffer s = new StringBuffer(); s.append("key=").append("xx").append("&locations=").append(lat).append(",").append(lon).append("&coordsys=gps"); String res = HttpRequest.sendPost("https://restapi.amap.com/v3/assistant/coordinate/convert", s.toString()); Map<String, Object> result = new HashMap<String, Object>(); result.put(RESULT, RESULT_SUCCESS); result.put(CONTENT, res); return result; } }

浙公网安备 33010602011771号