java - 如何在 Android 应用程序中查找某个地点的地址

标签 java android api location

在我的应用程序中,我想显示某个位置的纬度、经度和地址。我可以找到经纬度的API,但是有没有API可以找到经纬度对应的地点的地址。

最佳答案

您可以使用地理编码器从纬度/经度返回地址,如下所示。

            Geocoder geocoder = new Geocoder(this, Locale.US);

            double lat = 41.146064;
            double lon = 80.642861;

            try{
             List<Address> loc = geocoder.getFromLocationName(lat, lon, 5);
            }
            catch(IOException e) {
             Log.e("IOException", e.getMessage()); 
             Toast.makeText(this, "IOException:  " + e.getMessage(),20).show();
                }
                 //DO something with loc 

您应该知道 Geocoder 并不总是返回结果,它可能需要几次尝试,这就是为什么它用 try catch 包装的原因。这样您就可以使用 IO 异常消息写入 Toast 或 Logcat。

此外,当您像我一样在 Geocoder 构造函数中传递区域设置时,您将获得最佳结果。

关于java - 如何在 Android 应用程序中查找某个地点的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5393613/

相关文章:

java - 什么时候必须在方法声明中使用 "throws"字?

java - Java SE 环境中的 JPA : Entity classes loaded without defenition in persistence. xml

android - 如何在没有 Android Studio 的情况下启动 Android 设备文件资源管理器?

facebook - 可以通过网络访问 facebook 对象,但不能使用 API 访问

Java:内部类访问彼此的私有(private)变量 - 封装外部 API 的良好实践?

java - 如何禁用构造函数的 checkstyle JavaDoc 验证?

java - 加载库 jar 时出错

java - 在不设置的情况下显示布局边界

android - 在 onPreviewFrame() 中重新添加回调缓冲区时相机预览变慢

Java Bukkit API 测试项目名称