0

我创建了一个类似于社交网络的应用程序。现在,如果我在我的应用程序中点击“搜索朋友”按钮,我应该能够在 5 英里半径范围内找到正在使用此应用程序的其他人(朋友)。我该怎么做呢?

顺便说一句,我正在使用 Windows Phone 7.1.1 sdk。

4

1 回答 1

1

正如迈克尔建议的那样,您需要在服务器端管理它。定期收集坐标(http://msdn.microsoft.com/en-us/library/system.device.location.geocoordinatewatcher%28VS.92%29.aspx)并将它们推送到服务(WCF、REST 或否则)您在您控制的服务器上公开。在服务器上,将坐标存储在某种数据库中。支持空间查询的一种是最简单的,但不是必需的。MSSQL 允许定义可以存储纬度/经度元组的地理类型列。

然后,当您的成员之一查询附近的用户时,收集该用户的当前位置,将其推送到服务器,并运行查询以查找具有当前距离内的点的其他用户。有关SQL Server 的示例,请参阅http://msdn.microsoft.com/en-us/library/ff929109.aspx 。

相同的信息集可以存储在 MySQL 或任何其他 RDBMS 中,但根据它们的功能集,您可能需要自己进行计算。如果你想做一个很大的圆距离,这是一个有趣的问题,可以归结为短距离的勾股定理或一些三角函数。有关更多信息,请参见http://www.movable-type.co.uk/scripts/latlong.html

于 2012-10-06T20:15:52.730 回答