【发布时间】:2018-11-05 04:31:15
【问题描述】:
这就是我的想法。我想使用 GPS 获取用户位置。我想计算平方公里或米,而不是发送当前位置。
----------------------------------
| |
| |
| |
| |
| . |
| ^ |
| My current position |
| |
| |
| |
----------------------------------
如上图所示,我当前的位置,但我想在 HTML5 或 Ionic 中计算周围的整个区域会更受欢迎。
更新
在上图中,红点是我的位置,我需要将整个区域置于红色矩形中。获取该存储在数据库中。我研究了多边形面积公式,但这需要几个顶点,而地理位置我只能得到经度和纬度两个坐标。我将如何使用这两点来做到这一点?
更新
我找到了一个解决方案here,但这个解决方案是持续跟踪用户的当前位置,在calculateDistance 函数中,公式同时使用当前位置(经度和纬度)和跟踪位置(经度和纬度),即Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * Math.sin(dLon/2) * Math.sin(dLon/2);
这对于我的第二种情况非常有效,但首先我不想首先跟踪用户的位置。首先,我简单地获取当前用户位置(经度和纬度),从中计算面积并将其发送到服务器。现在我不确定我将如何实现这一目标。有什么帮助吗?
【问题讨论】:
-
问题是该区域不是矩形。地球是一个球体,因此您必须自己使用图书馆或do the math。
-
尝试找出地理围栏,我认为这会有所帮助。
-
您希望您的数据是什么样的?你想计算那个区域的平方公里吗?你想要角落的经纬度坐标吗?请为您的问题提供所需的输出
-
@Ivaro18 我不想绘制任何矩形,我只想获取用户的当前位置,然后找到它的多边形/区域,例如 1000 平方米并将其作为 json 发送到我所在的服务器将存储。稍后当用户使用时,我将根据 GPS 跟踪用户位置,当他们进入该范围时,我将向他们显示您在该范围内的消息。就是这样。
-
好吧,如果你有 lat-lng 的中点,你不能只计算 1km 的 lat 和 long 值,然后加上和减去它们来创建多边形的角吗?
标签: javascript html ionic-framework geolocation gps