java调用百度地图API根据地理位置中文获取经纬度

简介:

百度地图api提供了很多地图相关的免费接口,有利于地理位置相关的开发,百度地图api首页:http://developer.baidu.com/map/

博主使用过根据地理根据地理位置中文获取经纬度的api,下面提供Java调用百度api接口的代码,详情可参考百度地图api相关说明:http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding。更多功能待读者挖掘啦。

public Map<String, BigDecimal> getLatAndLngByAddress(String addr){
        String address = "";
        String lat = "";
        String lng = "";
        try {  
            address = java.net.URLEncoder.encode(addr,"UTF-8");  
        } catch (UnsupportedEncodingException e1) {  
            e1.printStackTrace();  
        } 
        String url = String.format("http://api.map.baidu.com/geocoder/v2/?"
        +"ak=4rcKAZKG9OIl0wDkICSLx8BA&output=json&address=%s",address);
        URL myURL = null;
        URLConnection httpsConn = null;  
        //进行转码
        try {
            myURL = new URL(url);
        } catch (MalformedURLException e) {

        }
        try {
            httpsConn = (URLConnection) myURL.openConnection();
            if (httpsConn != null) {
                InputStreamReader insr = new InputStreamReader(
                        httpsConn.getInputStream(), "UTF-8");
                BufferedReader br = new BufferedReader(insr);
                String data = null;
                if ((data = br.readLine()) != null) {
                    lat = data.substring(data.indexOf("\"lat\":") 
                    + ("\"lat\":").length(), data.indexOf("},\"precise\""));
                    lng = data.substring(data.indexOf("\"lng\":") 
                    + ("\"lng\":").length(), data.indexOf(",\"lat\""));
                }
                insr.close();
            }
        } catch (IOException e) {

        }
        Map<String, BigDecimal> map = new HashMap<String, BigDecimal>();
        map.put("lat", new BigDecimal(lat));
        map.put("lng", new BigDecimal(lng));
        return map;
}
相关文章
|
1月前
|
缓存 API 定位技术
使用Python调用百度地图API实现地址查询
使用Python调用百度地图API实现地址查询
100 0
|
4月前
|
存储 Java
百度搜索:蓝易云【Java语言之float、double内存存储方式】
由于使用IEEE 754标准进行存储,float和double类型可以表示非常大或非常小的浮点数,并且具有一定的精度。然而,由于浮点数的特性,它们在进行精确计算时可能会存在舍入误差。在编写Java程序时,需要注意使
59 0
|
6月前
|
监控 算法 Java
百度搜索:蓝易云【Java垃圾回收机制详解及性能优化详解。】
Java的垃圾回收机制自动管理内存,使开发人员不必手动处理内存释放的问题。通过了解垃圾回收算法、垃圾回收器的选择和性能优化的技巧,可以提高应用程序的性能和响应速度。但在进行性能优化时,需要根据具体的应用场景和需求进行评估和调整,以找到最佳的配置和优化策略。
135 0
|
2月前
|
Java Docker 容器
百度搜索:蓝易云【Docker使用之java项目工程的部署】
通过以上步骤,你已经成功在Docker中部署了Java项目工程。这样可以确保你的应用在不同环境中具有一致的运行结果,并且方便地进行部署和管理。
36 7
|
3月前
|
Ubuntu Oracle Java
百度搜索:蓝易云【Ubuntu安装Java环境】
现在,你已经成功在Ubuntu上安装了Java环境。你可以在终端中运行Java程序或编译Java源代码。请注意,Ubuntu默认安装的是OpenJDK,如果需要Oracle JDK等其他Java版本,可以参考相应的安装文档。
30 3
|
4月前
|
Java
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
136 0
|
4月前
|
Java Python
百度搜索:蓝易云【Java执行Python代码的两种方法(Jython与ProcessBuilder)】
通过使用Jython或ProcessBuilder,您可以在Java中执行Python代码并与两种编程语言进行交互。选择哪种方法取决于您的需求和偏好。请根据实际情况选择适合您的项目的方法。
41 0
|
4月前
|
数据采集 Java API
百度搜索:蓝易云【Java爬虫与Python爬虫有什么区别】
综上所述,Java爬虫和Python爬虫在语言特性、代码复杂性、生态系统、并发处理和执行性能等方面存在一些区别。选择使用哪种爬虫工具取决于具体的需求、项目要求和个人技术偏好。
44 0
|
4月前
|
自然语言处理 Java 编译器
百度搜索:蓝易云【Java之Javac、JIT、AOT之间的关系】
综上所述,Javac负责将Java源代码编译为字节码,JIT编译器在运行时将字节码转换为本地机器代码以提高执行效率,而AOT编译器在部署前将字节码预先编译为本地机器代码以提高启动速度和整体性能。
59 0
|
4月前
|
Java Maven Docker
百度搜索:蓝易云【Dockerfile 部署 Java 服务教程。】
通过以上步骤,你就可以使用Dockerfile来构建并部署Java服务。请根据你的项目需求进行适当的配置和定制。希望以上教程对你有所帮助。如果有更多疑问,请参考相关的文档和资源进行进一步学习。
39 0