java百度地图根据地址获取经纬度
2013-01-11 09:35
393 查看
package com.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; public class LatitudeUtils { public static final String KEY_1 = "7d9fbeb43e975cd1e9477a7e5d5e192a"; // String key2 = "8ec6cd98bd56554407a207d597c0f3e5"; // String key3 = "be025dc280e1e3f7ffb95fe42a01fab2"; // String key4 = "327db7009617d6806b9c38e819ea06ac"; /** * 返回输入地址的经纬度坐标 * key lng(经度),lat(纬度) */ public static Map<String,String> getGeocoderLatitude(String address){ BufferedReader in = null; try { //将地址转换成utf-8的16进制 address = URLEncoder.encode(address, "UTF-8"); // 如果有代理,要设置代理,没代理可注释 // System.setProperty("http.proxyHost","192.168.1.188"); // System.setProperty("http.proxyPort","3128"); URL tirc = new URL("http://api.map.baidu.com/geocoder?address="+ address +"&output=json&key="+ KEY_1); in = new BufferedReader(new InputStreamReader(tirc.openStream(),"UTF-8")); String res; StringBuilder sb = new StringBuilder(""); while((res = in.readLine())!=null){ sb.append(res.trim()); } String str = sb.toString(); Map<String,String> map = null; if(StringUtils.isNotEmpty(str)){ int lngStart = str.indexOf("lng\":"); int lngEnd = str.indexOf(",\"lat"); int latEnd = str.indexOf("},\"precise"); if(lngStart > 0 && lngEnd > 0 && latEnd > 0){ String lng = str.substring(lngStart+5, lngEnd); String lat = str.substring(lngEnd+7, latEnd); map = new HashMap<String,String>(); map.put("lng", lng); map.put("lat", lat); return map; } } }catch (Exception e) { e.printStackTrace(); }finally{ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } public static void main(String args[]){ Map<String, String> json = LatitudeUtils.getGeocoderLatitude("北京亮马桥"); System.out.println("lng : "+json.get("lng")); System.out.println("lat : "+json.get("lat")); } }
相关文章推荐
- java 根据经纬度获取百度地图地址
- 百度地图 java 根据地址获取经纬度
- java后台百度地图经纬度和地址之间的相互转换(通过经纬度获取地址、通过地址获取经纬度)
- 百度地图可以根据地址获取到经纬度吗
- 百度地图根据经纬度获取地址
- 百度地图应用封装 根据地址来获取经纬度 根据经纬度或者地址来获取百度地图
- 用百度地图根据经纬度来获取地址
- java 根据经纬度获取地址实现代码
- 百度地图根据经纬度获取地址/根据地获取经纬度
- 百度地图之根据经纬度信息获取地址方法
- 根据经纬度获取百度地图的详细地址信息
- java工具类(一)之服务端java实现根据地址从百度API获取经纬度
- java工具类(一)之服务端java实现根据地址从百度API获取经纬度
- java 根据经纬度获取地址
- 百度地图根据经纬度获取地址
- java google map 根据经纬度 获取地址
- java根据地址获取百度API经纬度
- java实现根据经纬度获取具体地址
- 百度地图根据经纬度获取国家、州市等地址相关信息
- 服务端java实现根据地址从百度API获取经纬度