【问题标题】:Generate Address from Lat/Long in Android or REST在 Android 或 REST 中从 Lat/Long 生成地址
【发布时间】:2013-06-16 01:37:58
【问题描述】:

我正在使用与 REST Web 服务交互的 Android 应用程序。我们在手机中有一个功能,可以在 Google 原生地图中选择一个位置,然后发送到服务器。

出于某种原因,我们需要获取网站中该点的地址以打印出来。

如果我们使用 Geocoder 从手机中的纬度和经度中获取地址并将其发送到 REST,我们需要消耗手机中的一些内存、数据和带宽。

如果我们在 REST 中执行此操作,由于应该为许多使用该应用程序的用户执行此操作,因此该过程可能会很耗时。 (这是我们的 REST 开发人员所相信的)

你能帮我谈谈你的意见吗?哪个想法更好,为什么?

【问题讨论】:

  • 我有类似的要求,但我曾经从 Rest 服务中读取纬度/经度值并在手机中显示地址。你想读取很多值吗???
  • 该值应显示在网站上。纬度/经度正在手机中生成。我想知道最好在手机中生成地址还是在 REST 中生成地址。
  • 我猜最好在电话中生成而不是在服务中处理,因为这不会消耗那么多带宽。

标签: android web-services rest web-applications


【解决方案1】:

您所做的称为“反向地理编码”(https://developers.google.com/maps/documentation/geocoding/?hl=fr#ReverseGeocoding

关于您的问题:我了解到您对某些用户的位置进行了反向地理编码,并且生成的地址将被许多其他用户使用。

知道: 1. 反向测地成本高 2.获取的地址会被很多用户使用 3. 每个用户将使用其中许多地址 然后您应该在服务器端进行操作并将所有地址放在一条消息中。如果您可以将地址数量限制为唯一有用的地址,那就更好了(可能是您附近的地址,但取决于您的应用功能)

重要提示:在移动设备上,对性能至关重要的不是传输的数据量,而不是消息的数量:带宽很好,但延迟很糟糕。所以 在您的服务器 API 中,避免原子操作并尽可能多地聚合!

【讨论】:

    【解决方案2】:

    请使用此功能

    String getAddress(双纬度,双纬度) { 字符串地址 = "";

        GeoPoint point = new GeoPoint((int) (lat * 1E6),
                (int) (lon * 1E6));
    
        Geocoder geoCoder = new Geocoder(mContext, Locale.getDefault());
        try {
            List<Address> addresses = geoCoder.getFromLocation(
                    point.getLatitudeE6() / 1E6, point.getLongitudeE6() / 1E6,
                    1);
    
            if (addresses.size() > 0) {
                for (int index = 0; index < addresses.get(0)
                        .getMaxAddressLineIndex(); index++)
                    address += addresses.get(0).getAddressLine(index) + " ";
            }
    
        } catch (IOException e) {
            e.printStackTrace();
        }
    
        return address;
    }
    

    【讨论】:

    • 这不是我要问的问题!
    【解决方案3】:

    您可以通过电话使用它。据我说,通过服务使用会占用很多带宽。

    我建议你直接在手机中使用,而不是通过服务使用它。

    【讨论】:

      猜你喜欢
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多