我怎么知道我的标记是否在街道上

时间:2013-05-27 10:40:34

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

我有一些标记(通过纬度和经度确定)显示汽车,我想知道这些点是否在街上。

有一种方法可以做到这一点吗?

我认为我可以:

  1. 获取汽车组合经度 - 纬度的地址
  2. 获取地址的lat-lng
  3. 比较2 lat-lon以验证是否相同(或接近)
  4. 但它似乎很复杂且计算量很大

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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