【问题标题】:get multiple address from multiple latitude/longitude从多个纬度/经度获取多个地址
【发布时间】:2014-02-06 16:05:09
【问题描述】:

我想获取多个纬度/经度的地址,有没有办法在一个请求中做到这一点?

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

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());
    }

请帮忙。

【问题讨论】:

    标签: android google-maps google-geocoder


    【解决方案1】:

    创建一个方法,将您的坐标 LatLngs 列表传递给它,然后循环浏览您已有的代码。

    【讨论】:

    • 我的问题是:我想一次性使用google(getlocationfrom)的服务,获取多个坐标的数据,有没有办法一次性发送坐标列表并得到结果跨度>
    【解决方案2】:

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

    长答案是,Google 设计了 ​​Geocoder API,这样如果您进行客户端地理编码,客户端就不会耗尽请求限制。见following quote from this FAQ:

    何时使用客户端地理编码

    基本答案是“几乎总是”。由于地理编码限制是每个用户的 会话,您的应用程序不会影响全球 随着用户群的增长而限制。客户端地理编码不会面临 配额限制,除非您在一个范围内执行一批地理编码请求 用户会话。因此,运行客户端地理编码时,您通常 不必担心您的配额。

    存在两种用于客户端地理编码的基本架构。

    运行地理编码并完全显示在浏览器中。例如, 用户在您的页面上输入地址。您的应用程序对其进行地理编码。 然后,您的页面使用地理编码在地图上创建标记。或者你的 应用程序使用地理编码进行一些简单的分析。没有数据发送到 你的服务器。这会减少服务器上的负载,但不会给您 了解您的用户在做什么。

    在浏览器中运行地理编码,然后将其发送到服务器。为了 例如,用户输入一个地址。您的应用程序对其进行地理编码 浏览器。然后应用程序将数据发送到您的服务器。服务器 响应一些数据,例如附近的兴趣点。这 允许您根据自己的数据自定义响应,还可以 如果需要,可以缓存地理编码。此缓存允许您优化甚至 更多的。你甚至可以用地址查询服务器,看看你有没有 最近为其缓存的地理编码,如果这样做,请使用它。如果你 不要,然后不向浏览器返回任何结果,并让它地理编码 结果并将其发送回服务器进行缓存。

    有关地理编码请求限制的更多细节,see this URL

    【讨论】:

    • 请问有什么解决办法,因为我有很多坐标,如何快速获取地址
    猜你喜欢
    • 2015-08-11
    • 2013-09-15
    • 2010-12-02
    • 1970-01-01
    • 2014-01-21
    • 2013-07-04
    • 1970-01-01
    • 2012-02-15
    相关资源
    最近更新 更多