java - 获取用户坐标并比较距所需位置的距离的最简单方法

标签 java android location coordinates

获取用户坐标的最简单方法是什么?我只需要它们看看它们是否与我想要的坐标匹配,并且它们不必完美匹配,用户可以在 0.3 英里之内

我尝试使用谷歌地图 v1 和 v2,但它变得比应有的更复杂,因为我只需要它与一些设置的坐标进行比较

所以我需要帮助的是获取用户的坐标(位置),然后获取他们距我所需位置(-80.000000,40.000000)的距离,并查看它们是否在半径(480~ 0.3 英里)内

有人能够听听我需要采取哪些步骤来实现这一目标吗?

最佳答案

要获取用户坐标,您需要使用 LocationManager ,你可以看看这个answer为您提供有关如何获取坐标的更多详细信息。根据该答案,您创建一个位置管理器:

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
longitude = location.getLongitude();
latitude = location.getLatitude();

然后创建一个 locationListener 对象并将其附加到位置管理器:

lm.requestLocationUpdates(lm.getBestProvider(fine, true), minTime, 0, listenerFine);
<小时/>

获得坐标后,您可以使用 Geofencing ,以下是有关创建和监控地理围栏的文档中的一个简短 fragment :

mGeofenceList.add(new Geofence.Builder()
    .setRequestId("geofenceRequestID")
    .setCircularRegion(latitude, longitude, 480f)
    .setExpirationDuration("300000") // duration is in millis (5mins)
    .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | Geofence.GEOFENCE_TRANSITION_EXIT)
    .build());

这里有更多details关于使用 Geofence.Builder。

关于java - 获取用户坐标并比较距所需位置的距离的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47003879/

相关文章:

iphone - Google map 如何确定用户在 map 上的位置?

java - 如何从 org.eclipse.swt.browser.Browser 读取 cookie?

Java 转换错误?

Android ndk-build 命令问题

Android AutoSync 运行间隔?

android - 来自 LocationServices 的 getTriggeringGeofences 和 getGeofenceTransition

java - 如何从一台机器针对另一台机器运行ant脚本?

java - 安装 Android Studio,不指向有效的 JVM 安装错误

php - 使用 PHP 在 Android 中引用两个或多个 JSON 表

iphone - 定位服务 iPhone