获取用户坐标的最简单方法是什么?我只需要他们看看他们是否符合我想要的坐标,他们没有完全匹配,用户可以在0.3英里内
我曾尝试使用谷歌地图v1和v2,但它变得比它应该更复杂,因为我只需要它与一些设置坐标进行比较
所以我需要帮助的是获取用户的坐标(位置),然后从我想要的位置(-80.000000,40.000000)获得它们的距离,看看它们是否在半径范围内(480~0.3英里)< / p>
是否有人能够听取我需要采取的步骤才能完成此任务?
答案 0 :(得分:1)
要获取用户坐标,您需要使用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,这里是有关创建和监控地理围栏的文档的简短摘要:
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());
使用Geofence.Builder时,details更多{。}}。