我正在开发一个应用程序。我需要地理围栏来检查纬度和经度位于特定的半径内。我正在学习地理围栏教程,但我的问题是我不知道在哪里通过我想检查的纬度和经度
教程链接:
https://code.tutsplus.com/tutorials/how-to-work-with-geofences-on-android--cms-26639
此处为
.setCircularRegion( LATITUDE, LONGITUDE, RADIUS)
当IntentService
检测到指定区域上的转换(进入、退出或停留(时,将调用onHandleIntent()
,您可以执行您的操作(警报或任何操作(
@tkrz的公式是正确的。
(lat-center_lat(^2+(lon-center_lon(^2<半径^2
左边是我的位置到地理围栏中心点之间的距离的平方。右侧部分是地理围栏圆半径的正方形。
比方说,如果距离小于圆的半径,就意味着我站在地理围栏区域内,反之亦然。
如果你只想检查这个(不使用通知机制(,你需要一些数学:
(lat-center_lat)^2 + (lon - center_lon)^2 < radius^2