【问题标题】:How can i know if my marker is on a street我怎么知道我的标记是否在街道上
【发布时间】:2013-05-27 10:40:33
【问题描述】:

我有一些表示汽车的标记(由纬度和经度标识),我想知道其中一个点是否在街道上。

有办法做到这一点吗?

我认为可以:

  1. 获取汽车的经纬组合地址
  2. 获取地址的经纬度
  3. 比较 2 lat-lon 以验证是否相同(或接近)

但它似乎复杂且计算量大

【问题讨论】:

    标签: android google-maps google-maps-markers


    【解决方案1】:

    你可以使用我在这里提出的想法:https://stackoverflow.com/a/15837303/2183804

    作为回报,您将在街道上获得一个点,然后您使用 Location.distanceBetween 检查距离。如果不到 10 米左右,你可以假设它在街上。

    【讨论】:

      【解决方案2】:

      您可以转换空间数据中的纬度和经度。

      Geocoder gcd = new Geocoder(this, Locale.getDefault());
      List<Address> addresses = gcd.getFromLocation(currentLatitude, currentLongitude,100);
      

      您现在可以查看列表。如果列表为空,则标记不在街道上。

      GeoCoder 教程:http://kindohm.com/blog/2010/10/06/androidgpsgeocoding.html

      【讨论】:

      • 我也有同样的想法,但是列表中总是有一个地址,即使设置了湖的坐标
      猜你喜欢
      • 2012-12-15
      • 2017-02-21
      • 2011-04-03
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      相关资源
      最近更新 更多