package com.jiuqi.mobile.lbs.intf.oth;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
class GaoDeGisUtil{
public static GisPoint correction(double dLong, double dLat) {
GisPoint point = new GisPoint();
point.setGcType(GisCoordinateType.GCJ_02);
String xresult = "";
String yresult = "";
String responseMessageXml = null;
// String strUrl =
// "http://search1.mapabc.com/sisserver?config=RGC&resType=xml&x1="
// + dLong + "&y1=" + dLat
// +
// "&cr=0&flag=true&a_k=6e37dfb9fe56979897e25cc1a5b39e2e2dcebfe4d2d30ee3433e405b3572745d3f40c785c83a4833";
// String strUrl =
// "http://apis.mapabc.com/sisserver?config=RGC&resType=xml&x1=" +
// dLong + "&y1=" + dLat
// +
// "&cr=0&flag=true&a_k=6e37dfb9fe56979897e25cc1a5b39e2e2dcebfe4d2d30ee3433e405b3572745d3f40c785c83a4833";
String strUrl = "http://search1.mapabc.com/sisserver?config=RGC&resType=xml&x1=" + dLong + "&y1=" + dLat
+ "&cr=0&flag=true&a_k=6e37dfb9fe56979897e25cc1a5b39e2e2dcebfe4d2d30ee3433e405b3572745d3f40c785c83a4833";
// GetUrl getUrl = new GetUrl();
System.out.println("高德纠偏请求链接--->" + strUrl);
responseMessageXml = GetUrlResult(strUrl);// 得到解析URL的xml
System.out.println("~~~~~~~~高德纠偏的返回XML---》" + responseMessageXml);
int xbegin;
int xend;
xbegin = responseMessageXml.indexOf("<x>");
xend = responseMessageXml.indexOf("</x>", xbegin + 3);
xresult = responseMessageXml.substring(xbegin + 3, xend);
// y
int ybegin;
int yend;
ybegin = responseMessageXml.indexOf("<y>");
yend = responseMessageXml.indexOf("</y>", ybegin + 3);
yresult = responseMessageXml.substring(ybegin + 3, yend);
point.setLatitude(Double.parseDouble(yresult));
point.setLongitude(Double.parseDouble(xresult));
return point;
}
public static String GetUrlResult(String url) {
// System.out.println("!!##########!!=====>"+url);
String result = "";
BufferedReader in = null;
InputStreamReader isr = null;
try {
URL serviceurl = new URL(url);
URLConnection connection = serviceurl.openConnection();
connection.connect();
isr = new InputStreamReader(connection.getInputStream());
in = new BufferedReader(isr);
String line;
while ((line = in.readLine()) != null) {
result += line;
}
in.close();
} catch (Exception e) {
System.out.println("请求URL服务时发生错误:" + e);
} finally {
try {
if (isr != null) {
isr.close();
}
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
}