从多个纬度/经度获取多个地址

3

我希望能够获取多个经纬度对应的地址,有没有一次性请求的方法?

我可以使用以下代码获取一个位置的地址:

try {
 Geocoder geocoder;
 List<Address> addresses;
 geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
 addresses = geocoder.getFromLocation(Double.parseDouble(latitude), Double.parseDouble(longitude), 1);
 String address = addresses.get(0).getAddressLine(0);
 Log.i("adresse :", address);
 } catch (IOException e) {
     Log.e("tag", e.getMessage());
    }

请提供任何帮助。

2个回答

1
创建一个方法,将你的坐标列表LatLngs传递给它并循环运行你已经编写好的代码。

1
我的问题是:我想使用谷歌的服务(getlocationfrom)一次,以获取多个坐标的数据,是否有办法发送坐标列表并一次性获取结果? - Abdel

1

简短的回答是API不支持一次请求多个位置。

长的回答是Google设计了Geocoder API,使得客户端在进行客户端地理编码时不会耗尽请求限制。请参见此FAQ中的以下引用:

何时使用客户端地理编码 基本答案是“几乎总是”。由于地理编码限制是每个用户会话,因此随着您的用户群增长,您的应用程序不会达到全局限制的风险。除非您在用户会话中执行一批地理编码请求,否则客户端地理编码不会面临配额限制。因此,运行客户端地理编码时,您通常不必担心配额。 客户端地理编码存在两种基本架构。 在浏览器中完全运行地理编码和显示。例如,用户在您的页面上输入地址。您的应用程序对其进行地理编码。然后您的页面使用地理编码在地图上创建标记。或者您的应用程序使用地理编码进行一些简单的分析。没有数据发送到您的服务器。这减轻了您服务器的负担,但不会让您知道用户正在做什么。 在浏览器中运行地理编码,然后将其发送到服务器。例如,用户输入地址。您的应用程序在浏览器中对其进行地理编码。然后应用程序将数据发送到您的服务器。服务器响应某些数据,例如附近的兴趣点。这使您可以基于自己的数据自定义响应,并且还可以缓存地理编码(如果需要)。这个缓存允许您进行更多的优化。您甚至可以使用地址查询服务器,看看是否对其进行了最近的缓存地理编码,如果有,则使用该地理编码。如果没有,则向浏览器返回无结果,并让它对结果进行地理编码并将其发送回服务器进行缓存。

如需获取地理编码请求的特定限制,请访问此网址


请问有什么解决方案吗?因为我有很多坐标,如何快速获取地址? - Abdel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接