【发布时间】:2020-03-12 13:24:47
【问题描述】:
我创建了一个 xamarin 移动应用程序并希望创建以下功能:创建一个或多个地理围栏。当使用手机的用户在该位置时,我想触发一些代码。是否有任何库可用于使用 xamarin 表单实现此跨平台?
【问题讨论】:
标签: xamarin xamarin.forms geolocation geofencing
我创建了一个 xamarin 移动应用程序并希望创建以下功能:创建一个或多个地理围栏。当使用手机的用户在该位置时,我想触发一些代码。是否有任何库可用于使用 xamarin 表单实现此跨平台?
【问题讨论】:
标签: xamarin xamarin.forms geolocation geofencing
如果您的地理围栏是圆形,您可以使用Xamarin.Essentials 获取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
}
另外,如果你想经常听到你的位置,你可以查看我的另一个anwser Here。
【讨论】: