有人可以帮助我或分享一些关于如何在 Windows Phone Mango 上实现 GeoFencing 的代码。
我有 GeoPositions 列表(纬度和经度),在每次位置更新时,我都想验证当前位置是否在我们称为 GeoFencing 的列表中,但我想在本地进行而不接触任何 WebService 等...所以我想知道有没有可能...
我也想在不阻塞主 UI 线程的情况下实现这一点。
请指教。
有人可以帮助我或分享一些关于如何在 Windows Phone Mango 上实现 GeoFencing 的代码。
我有 GeoPositions 列表(纬度和经度),在每次位置更新时,我都想验证当前位置是否在我们称为 GeoFencing 的列表中,但我想在本地进行而不接触任何 WebService 等...所以我想知道有没有可能...
我也想在不阻塞主 UI 线程的情况下实现这一点。
请指教。
在 Microsoft 示例表单中,Tidy 应用程序(Mango 示例的一部分) - 在 Todo.DataAccess 项目中,GeoCodeDistanceCalc
静态类计算一对坐标之间的距离:
return radius * 2 * Math.Asin(Math.Min(1, Math.Sqrt((Math.Pow(Math.Sin((DiffRadian(lat1, lat2)) / 2.0), 2.0) + Math.Cos(ToRadian(lat1)) * Math.Cos(ToRadian(lat2)) * Math.Pow(Math.Sin((DiffRadian(lng1, lng2)) / 2.0), 2.0)))));
(其中半径是地球的半径,以您想要的任何单位计算)
对于多边形方法中的点,有一篇关于该主题的完整 Wikipedia 文章,但在过去,我发现光线投射算法实现起来相对简单。