1

有人可以帮助我或分享一些关于如何在 Windows Phone Mango 上实现 GeoFencing 的代码。

我有 GeoPositions 列表(纬度和经度),在每次位置更新时,我都想验证当前位置是否在我们称为 GeoFencing 的列表中,但我想在本地进行而不接触任何 WebService 等...所以我想知道有没有可能...

我也想在不阻塞主 UI 线程的情况下实现这一点。

请指教。

4

1 回答 1

0

在 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 文章,但在过去,我发现光线投射算法实现起来相对简单。

于 2012-05-17T21:04:44.217 回答