百度地图 java 根据地址获取经纬度
2017-01-13 17:41
661 查看
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** * 经纬度工具类 * * @author WangMeng */ public class LngAndLatUtils { /** * 输入地址调用百度api获取经纬度 * * @param address * @return 经度纬度的map * @author SunQiChao * @Date 2015年9月2日 */ public static Map<String, Double> getLngAndLat(String address, String key) { Map<String, Double> map = new HashMap<String, Double>(); // 调用百度接口 String url = "http://api.map.baidu.com/geocoder/v2/?address=" + address + "&output=json&ak=" + key; String json = loadJSON(url); JSONObject obj = JSONObject.fromObject(json); if (obj.get("status").toString().equals("0")) { double lng = obj.getJSONObject("result").getJSONObject("location").getDouble("lng"); double lat = obj.getJSONObject("result").getJSONObject("location").getDouble("lat"); map.put("lng", lng); map.put("lat", lat); } return map; } /** * 处理url和所带的参数 * * @param url * @return * @author SunQiChao * @Date 2015年9月2日 */ public static String loadJSON(String url) { StringBuilder json = new StringBuilder(); try { URL oracle = new URL(url); URLConnection yc = oracle.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); String inputLine = null; while ((inputLine = in.readLine()) != null) { json.append(inputLine); } in.close(); } catch (MalformedURLException e) { } catch (IOException e) { } return json.toString(); } }
相关文章推荐
- Java中的SPI机制
- Java使用JDBC操作数据库
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java时间日期格式的转换
- Java五个最常用的集合类之间的区别和联系
- java最简单的效率检测
- Java SE学习笔记:线程通信、生产者与消费者案例、线程状态(线程的生命周期)、线程操作、Condition类
- Java读写json
- Java SE学习笔记:创建(Thread/Runable),线程安全,线程同步,同步锁机制
- spring mvc文件下载 及 ajax异步上传图片