百度地图sdk 将GPS坐标转换为百度坐标系坐标

来源:互联网 发布:用ppt怎么画网络拓扑 编辑:程序博客网 时间:2024/04/30 02:09

1。使用如下方式:

注意网络访问权限的声明

public static String changgeXY(String xx, String yy) {try {Socket s = new Socket("api.map.baidu.com", 80);BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream(), "UTF-8"));OutputStream out = s.getOutputStream();StringBuffer sb = new StringBuffer("GET /ag/coord/convert?from=0&to=4");sb.append("&x=" + xx + "&y=" + yy);sb.append("&callback=BMap.Convertor.cbk_3976 HTTP/1.1\r\n");sb.append("User-Agent: Java/1.6.0_20\r\n");sb.append("Host: api.map.baidu.com:80\r\n");sb.append("Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\n");sb.append("Connection: Close\r\n");sb.append("\r\n");out.write(sb.toString().getBytes());String json = "";String tmp = "";while ((tmp = br.readLine()) != null) {// System.out.println(tmp);json += tmp;}int start = json.indexOf("cbk_3976");int end = json.lastIndexOf("}");if (start != -1 && end != -1 && json.contains("\"x\":\"")) {json = json.substring(start, end);String[] point = json.split(",");String x = point[1].split(":")[1].replace("\"", "");String y = point[2].split(":")[1].replace("\"", "");return (new String(decode(x)) + "," + new String(decode(y)));} else {System.out.println("gps���������");}out.close();br.close();} catch (Exception e) {e.printStackTrace();}return null;}/** * ���� *  * @param str * @return string */public static byte[] decode(String str) {byte[] bt = null;bt = android.util.Base64.decode(str, Base64.DEFAULT);return bt;}

2。使用百度自带api:

endGeoPoint = CoordinateConvert.fromWgs84ToBaidu(p);

但是必须初始化 百度引擎:

mBMapMan = new BMapManager(getApplication());mBMapMan.init(null);








0 0