package com.suncm;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class AMapUtil {
/**
* 高德地图地址获取经纬
*/
public Map<String, Object> getlonAndLatByAmap(String address) throws Exception {
if(address == null){
return null;
}
Map<String, Object> map = new HashMap<String, Object>();
String url = "http://restapi.amap.com/v3/geocode/geo?address=" + URLEncoder.encode(address.trim(), "utf-8")
+ "&output=json&key=(web服务)key";//这个key需要在高德注册获取
GetMethod method = new GetMethod(url);
method.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
HttpClient client = new HttpClient();
//设置代理
// setProxy(client);
client.getHttpConnectionManager().getParams().setConnectionTimeout(10000); // 设置连接超时
int status = client.executeMethod(method);
if (status == 200) {
String json = method.getResponseBodyAsString();
System.out.println(json);
JSONObject obj = JSONObject.parseObject(json);
if (obj.get("status").toString().equals("1") && !obj.get("count").toString().equals("0")) {
JSONArray array = obj.getJSONArray("geocodes");
if(array != null){
String str = array.getString(0);
JSONObject locationjson = JSONObject.parseObject(str);
str = locationjson.getString("location");
String citycode = locationjson.getString("citycode");
String[] location = str.split(",");
double lon = Double.parseDouble(location[0]);
double lat = Double.parseDouble(location[1]);
map.put("lon", lon);
map.put("lat", lat);
map.put("citycode", citycode);
System.out.println("经度" + lon + ":::::::纬度" + lat);
}
} else {
System.err.println("无此经纬度");
}
}
return map;
}
// 设置代理
private void setProxy(HttpClient client) {
client.getHostConfiguration().setProxy("192.168.1.49", 8080);
client.getParams().setAuthenticationPreemptive(true);
client.getState().setProxyCredentials(AuthScope.ANY, new UsernamePasswordCredentials("suncm","^MAli790301"));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java高德地址解析demo
共18个文件
jar:5个
class:2个
java:2个
需积分: 50 34 下载量 62 浏览量
2017-11-28
10:03:49
上传
评论
收藏 2.16MB RAR 举报
温馨提示
java高德地址解析demo java高德地址解析demo java高德地址解析demo
资源推荐
资源详情
资源评论
收起资源包目录
AmapUtil.rar (18个子文件)
AmapUtil
.project 1KB
WebContent
WEB-INF
lib
commons-httpclient-3.1.jar 298KB
commons-codec-1.3.jar 46KB
fastjson-1.2.29.jar 450KB
commons-logging-1.1.3.jar 61KB
ojdbc14.jar 1.47MB
META-INF
MANIFEST.MF 39B
src
com
suncm
Test.java 3KB
AMapUtil.java 3KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 476B
.jsdtscope 503B
build
classes
com
suncm
Test.class 3KB
AMapUtil.class 5KB
.classpath 1KB
共 18 条
- 1
资源评论
程序小酱
- 粉丝: 20
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功