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

发布于 2024-10-25 10:37:45 字数 1539 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野心澎湃 2024-11-01 10:37:45

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

            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 构造函数中传递区域设置时,您将获得最佳结果。

you can use Geocoder to return addresses from lat/lon like this.

            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 

You should know that Geocoder will not always return with a result, it may take a few tries thats why it's wrapped with a try catch. This way you can write to Toast or Logcat with the IO exception msg.

Also you will get the best results when you pass it a locale in the Geocoder constructor as I am doing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文