我们正在开发基于浏览器的直播赛车游戏。我们的 竞争者将从START点和第一个竞争者开始竞争 谁在STOP场地办理登机手续将赢得比赛。
例如,这个场地将是我们的停靠场所:https://foursquare.com/venue/2154697
但是有一个问题。例如,现在我距离STOP 1.3公里 场地,但我可以办理登机手续,我可以赢得比赛:)所以我必须计算 距离,如果距离低于100米,竞争者将获胜。
我们怎么做?
很快,我必须验证,竞争者真的在这个场地。
答案 0 :(得分:2)
我建议您不要使用检入功能来确定胜利,原因就在于您提到的原因。相反,我建议你从foursquare拉出获胜位置,然后使用设备的lat / long的原生查找来进行比较。
如果您正在制作基于浏览器的游戏,您可以在大多数现代操作系统的浏览器(iOs,Android,Palm等)中直接在JS中提取GPS信息。现在几乎所有的应用程序框架都支持这一点。虽然浏览器中的GPS查找是一个合法的规范,但是有一些方便的JS warper可以帮助实现这样的交叉兼容性[[http://code.google.com/p/geo-location-javascript/]]
现在您已经了解了'目的地'纬度/经度以及玩家的真实位置,您可以使用某些三角函数计算该位置的增量。请记住,当你在曲面上玩时,lat和log三角洲本身并不像减法那么简单。好消息是这篇stackOverflow文章介绍了如何执行此操作[[Calculate distance between 2 GPS coordinates]]
答案 1 :(得分:1)
确保用户位于正确位置的最可靠方法是在用户必须查找和键入的所述位置放置某种密码。
既然您似乎正在运行某种游戏,为什么不安排包含该代码的廉价礼物(如巧克力或蛋糕)?
当您选择的位置是您以某种方式控制的位置时,这当然是可行的。您可以与咖啡馆特许经营商合作,并将咖啡馆位置作为停靠点。
在起点处给出密码,一旦到达咖啡馆,用户就可以将他的密码转换成糕点或类似的东西,并且他的代码用于生成结束代码。