Xamarin Forms - 地理围栏库
Xamarin Forms - Geofencing library
我已经创建了一个 xamarin 移动应用程序并想要创建以下功能:创建一个或多个地理围栏。当 phone 的用户在该位置时,我想触发一些代码。是否有任何库可用于通过 xamarin 表单实现此跨平台?
如果你的地理围栏是一个圆形,你可以使用Xamarin.Essentials to get the distance between 2 points,如果距离小于地理围栏距离,它在地理围栏内。
long geofenceDistance = 2;
Location geofenceCentercordinate = new Location(centrerCoordinate.Latitude, centrerCoordinate.Longitude);
Location userLocation = new Location(position.Latitude, position.Longitude);
var distance = (long)Location.CalculateDistance(userLocation ,geofenceCentercordinate, DistanceUnits.Kilometers);
if(distance < geofenceDistance){
//it's inside the Geofence
}
另外,如果你想持续监听你的位置,你可以查看我的另一个答案 。
我已经创建了一个 xamarin 移动应用程序并想要创建以下功能:创建一个或多个地理围栏。当 phone 的用户在该位置时,我想触发一些代码。是否有任何库可用于通过 xamarin 表单实现此跨平台?
如果你的地理围栏是一个圆形,你可以使用Xamarin.Essentials to get the distance between 2 points,如果距离小于地理围栏距离,它在地理围栏内。
long geofenceDistance = 2;
Location geofenceCentercordinate = new Location(centrerCoordinate.Latitude, centrerCoordinate.Longitude);
Location userLocation = new Location(position.Latitude, position.Longitude);
var distance = (long)Location.CalculateDistance(userLocation ,geofenceCentercordinate, DistanceUnits.Kilometers);
if(distance < geofenceDistance){
//it's inside the Geofence
}
另外,如果你想持续监听你的位置,你可以查看我的另一个答案