我想做一个应用程序,检查最近的地方,用户在哪里。我可以很容易地获得用户的位置,并且我已经有了一个带有纬度和经度的地点列表。
了解列表中与当前用户位置最近的位置的最佳方法是什么?
我在google API中找不到任何东西。
发布于 2013-12-16 06:12:33
Location loc1 = new Location("");
loc1.setLatitude(lat1);
loc1.setLongitude(lon1);
Location loc2 = new Location("");
loc2.setLatitude(lat2);
loc2.setLongitude(lon2);
float distanceInMeters = loc1.distanceTo(loc2);
发布于 2010-04-30 07:34:53
http://developer.android.com/reference/android/location/Location.html
查看distanceTo或distanceBetween。您可以根据纬度和经度创建Location对象:
Location location = new Location("");
location.setLatitude(lat);
location.setLongitude(lon);
发布于 2010-04-30 08:41:03
你可以使用几种方法,但是要确定哪种方法最好,我们首先需要知道你是否知道用户的高度,以及其他点的高度?
根据您所追求的精度水平,您可以查看Haversine或Vincenty公式。
这些页面详细介绍了公式,对于不太喜欢数学的人,还提供了如何在脚本中实现它们的解释!
哈维正弦公式:http://www.movable-type.co.uk/scripts/latlong.html
文森锡公式:http://www.movable-type.co.uk/scripts/latlong-vincenty.html
如果您对公式中的任何含义有任何问题,请发表意见,我会尽我最大的努力回答它们:)
https://stackoverflow.com/questions/2741403
复制相似问题