http://code.google.com/intl/zh-CN/apis/maps/documentation/services.html#ReverseGeocoding
输入一个地址,google地图服务就能解析这个地址的经纬度 经纬度范围 国家等信息
下面我用java连接反向解析服务的地址,获得返回的流,把流解析成字符串,再把字符串解析成json
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONArray;
import org.json.JSONObject;
public class TestJson {
public static void main(String[] args) throws IOException {
String dituUrl = "http://ditu.google.cn/maps/geo?q=gz&key=ABQIAAAAE7SAS10g-ATpf14mvmoY3RQnYy5xmakd5i22O2aWTK8_BJDSThTClyozg_yWXE5JwJ2I5FHxvu1BFw&sensor=true&output=json";
String currentline = "";
String totalstring = "";
InputStream urlStream;
try {
URL url = new URL(dituUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
urlStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(urlStream, "utf-8"));
while ((currentline = reader.readLine()) != null) {
totalstring += currentline + "\r\n";
}
JSONObject json = new JSONObject(totalstring);
JSONObject statusJson = json.getJSONObject("Status");
String code=statusJson.getString("code");
if("200".equals(code)){
JSONArray placemark = json.getJSONArray("Placemark");
System.out.println("地址:"+placemark.getJSONObject(0).getString("address"));;
JSONObject point=placemark.getJSONObject(0).getJSONObject("Point");
System.out.println("纬度:"+point.getJSONArray("coordinates").get(0));
System.out.println("经度:"+point.getJSONArray("coordinates").get(1));
}else{
System.out.println("解析出错");
}
// System.out.println(content);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
------------------------------------------
如果要在ajaj得到json:
//服务器端
JSONObject user = new JSONObject();
user .put("isLogin", isLogin);//是否登录
r.put("nickName", nickName);
out = response.getWriter();
out.print(user.toString());
//js 解析json对象(prototype代码)
var user = t.responseText.evalJSON(true);
user.isLogin就取到是否登录了