c# - 指定操作区域并验证位置是否在该区域内

标签 c# android iphone algorithm geolocation

我是移动开发的新手,所以请原谅这个看似微不足道的问题。我想指定组织的操作区域以及移动应用程序用户(android、iphone 等)输入的位置(纬度、经度)是否属于操作区域。我需要一些高层次的想法。我想到的一种方法是在数据库中收集一组区域(由纬度、经度和半径指定),可以按不同的管理级别进行排序,然后验证用户的位置(纬度、经度)这个数据来自服务器。这是正确的方法还是有其他方法?欢迎任何指南。提前致谢。

最佳答案

我认为您的主要目标是:如何定义操作区域? 如果您使用“圆”定义(即纬度、经度和半径),您将以一些重叠区域结束,并且可能很难确定正确的行为。 我更喜欢“平方”定义(即左上角和右下角),之后您可以检查来自移动设备的坐标与来自服务器的数据,并确定正确的区域。

如果你必须维护“圆”的定义,你必须:

  1. 计算来自手机的坐标与存储在数据库中的操作区域中心之间的距离
  2. 验证距离小于半径

可以计算距离:dist(A,C)=\sqrt{(xA-xC)^2+(yA-yC)^2} 其中 xA 和 yA 是移动坐标,xC 和 yC 是您所在区域的纬度和经度

关于c# - 指定操作区域并验证位置是否在该区域内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34720595/

相关文章:

c# - 这里用checked有什么意义

安卓开发: Bluetooth Low Emission Advertisement is "Not Supported" on compatible devices

ios Stripe支付(账户到账户转账)

iphone - iPhone 3G,3GS和4上音频框架的差异

c# - 作为当前用户使用 Web 服务添加列表项

c# - 从链接获取尺寸图像

c# - 如何在 Entity Framework 中更新数据库中的记录?

java - 检查当前使用哪个 ArrayAdapter Spinner

android - 整洁架构 : share same models/entities with different layers

ios - iPhone XS、iPhone XR 和 iPhone XS Max 的设备代码(平台字符串)是什么?