1

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

有办法做到这一点吗?

我认为我可以:

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

但它似乎复杂且计算量大

4

2 回答 2

1

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

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

于 2013-05-27T18:17:00.927 回答
0

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

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

于 2013-05-27T11:05:48.557 回答