利用邮编获取经纬度:
public JSONObject getGeoLocation(String region, String zipCode) {
JSONObject object = new JSONObject();
String url = "{mapGeoUrl}?address={zipCode}®ion={region}&key={mapKey}";
Map<String, String> map = getMapInfo();
if(map.containsKey("mapGeoUrl")){
String mapGeoUrl = map.get("mapGeoUrl");
url = url.replace("{mapGeoUrl}", mapGeoUrl);
}
if(map.containsKey("mapKey")){
String mapKey = map.get("mapKey");
url = url.replace("{mapKey}", mapKey);
}
url = url.replace("{zipCode}", zipCode).replace("{region}", region);
DefaultHttpClient httpClient = new DefaultHttpClient();
try{
HttpGet getRequest = new HttpGet(url);
getRequest.addHeader("Content-Type","application/json");
HttpResponse response = httpClient.execute(getRequest);
Integer statusCode = response.getStatusLine().getStatusCode();
if(200 == statusCode){
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));
String str="";
String output;
while ((output=br.readLine()) != null) {
str += output;
}
object = new JSONObject(str);
httpClient.getConnectionManager().shutdown();
}
}catch(Exception e){
// log.info("Get match result exception: "+e);
}
return object;
}
注:region-->country code
zipCode-->邮编
mapGeoUrl-->https://maps.googleapis.com/maps/api/geocode/json