根据地址获取经度纬度
2016-01-14 16:27
169 查看
通过调用百度地图的接口获取经度纬度
package net.intelink.express.httprequest; 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; public class LatitudeUtils { public static final String KEY_1 = "7d9fbeb43e975cd1e9477a7e5d5e192a"; /** * 根据地址获取经度纬度 * @param address * @return */ public static Map<String, String> getGeocoderLatitude(String address) { BufferedReader in = null; try { address = URLEncoder.encode(address, "UTF-8"); 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 (!"".equals(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; } }
相关文章推荐
- 快学Scala第五章习题答案
- JBoss 引用 module 说明
- H3C交换机web管理配置
- oralce 获取自定义主键编码,有并发问题
- android StringBuffer类的使用
- Ubuntu的TOOL工具收集
- [leetcode] 6. ZigZag Conversion
- poll解析 ,poll和select区别
- Android - 自定义View 实现 文本吉他谱的 动态控制 实现
- 经济基础知识二
- cas 单点登录,退出配置
- 随笔1.14.2016
- hau 3037 Saving Beans【Lucas定理】
- easyui结合Spring实现验证输入内容与数据库中的内容是否重复
- Perl 当前包概念
- 常用的工具以及类库
- List.addAll()在Hibernate下update()遇到的问题
- RabbitMQ入门教程 For Java【5】 - Topic
- Unity3D 5.3 32位安装 No Unsupported Target module loaded
- NSCoding