我有一些表示汽车的标记(由纬度和经度标识),我想知道其中一个点是否在街上。
有办法做到这一点吗?
我认为我可以:
- 获取汽车的经纬组合地址
- 获取地址的 lat-lng
- 比较 2 lat-lon 以验证是否相同(或接近)
但它似乎复杂且计算量大
我有一些表示汽车的标记(由纬度和经度标识),我想知道其中一个点是否在街上。
有办法做到这一点吗?
我认为我可以:
但它似乎复杂且计算量大
您可以使用我在这里提出的想法:https ://stackoverflow.com/a/15837303/2183804
作为回报,您将在街道上获得一个点,然后使用 Location.distanceBetween 检查距离。如果它小于 10 米左右,你可以假设它在街上。
您可以转换空间数据中的纬度和经度。
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