首页 > 解决方案 > 如何使用用户的位置来显示他们附近或半径范围内的信息?

问题描述

我正在构建一个让人们请求某些东西的应用程序,因此用户应该只接收靠近他们或在一定半径内的请求。我如何在颤振上实现这一目标?

标签: androidiosflutterdart

解决方案


您需要获得有关满足请求的人的坐标的实时数据。当用户提出请求时,获取用户的当前坐标,并根据该坐标过滤根据指定半径完成请求的人/人的坐标

有一个公式可以计算两个坐标之间的距离

Distance, d = 3963.0 * arccos[(sin(lat1) * sin(lat2)) + cos(lat1) * cos(lat2) * cos(long2 – long1)]

但是要使用该公式,您需要将纬度和经度值从十进制度转换为弧度。为此,将两个点的经度和纬度值除以 180/pi。pi 的值为 22/7。180/pi 的值约为 57.29577951。如果我们想以英里为单位计算两地之间的距离,请使用值 3,963,即地球的半径。如果我们想以公里为单位计算两地之间的距离,请使用值 6,378.8,即地球的半径。你会得到大概的距离。

或者

您可以使用 google map 之类的 api,这是更多信息的链接

这是谷歌地图包链接,您可以在颤振应用程序中使用它来实现相同的目的。


推荐阅读