1

我们正在开发一个基于浏览器的实时流媒体赛车游戏。我们的参赛者将从起点开始比赛,第一个在 STOP 场地签到的参赛者将赢得比赛。

例如,这个场地将是我们的 STOP 场地: https ://foursquare.com/venue/2154697

但有一个问题。例如,现在我距离 STOP 场地 1.3 公里,但我可以签到,我可以赢得比赛:) 所以我必须计算距离,如果距离低于 100 米,竞争者将获胜。

我们该怎么做?

很快,我必须验证,竞争者真的在这个场地。

4

2 回答 2

2

出于上述原因,我建议您不要使用签到功能来确定获胜。相反,我建议您从foursquare 中提取获胜位置,然后使用设备的经纬度的本地查找进行比较。

如果您正在制作基于浏览器的游戏,您可以在大多数现代操作系统的浏览器(iOs、Android、Palm 等)中直接在 JS 中提取 GPS 信息。现在几乎所有的应用程序框架都支持这一点。虽然浏览器中的 GPS 查找是合法规范,但有一些方便的 JS 变形器可以帮助实现交叉兼容性,例如 [[ http://code.google.com/p/geo-location-javascript/ ]]

因此,既然您知道“目的地”纬度/经度和玩家的真实位置,您就可以使用一些三角函数计算该位置的增量。请记住,lat 和 log delta 本身并不像减法那么简单,因为您在曲面上玩。好消息是这篇 stackOverflow 文章介绍了如何做到这一点 [[计算 2 个 GPS 坐标之间的距离]]

于 2011-07-17T16:49:27.320 回答
1

确保用户位于正确位置的最可靠方法是在所述位置放置某种密码,用户必须找到并输入该密码。

既然您似乎在运行某种游戏,为什么不安排一个包含代码的廉价礼物(如巧克力或蛋糕)呢?

这当然只有在您选择的位置是您以某种方式控制的位置时才可行。您可以安排与咖啡连锁店的合作,并将咖啡店的位置用作停靠点。

在起点给一个密码,到达咖啡馆后,用户可以将他的密码转换成糕点之类的东西,他的密码用于生成结束密码。

于 2011-07-17T16:58:36.827 回答