小编Adr*_*nXL的帖子

按彼此的接近程度对坐标进行分组

我正在构建一个 REST API,所以答案不能包括谷歌地图或 javascript 的东西。在我们的应用程序中,我们有一个包含帖子的表格,如下所示:

  ID |   latitude   | longitude   | other_sutff
   1 | 50.4371243   |  5.9681102  |    ...
   2 | 50.3305477   |  6.9420498  |    ...
   3 | -33.4510148  | 149.5519662 |    ...
Run Code Online (Sandbox Code Playgroud)

我们有一个带有地图的视图,其中显示了世界各地的所有帖子。希望我们会有很多帖子,在地图上显示成千上万的标记是荒谬的。所以我们想按距离对它们进行分组,这样我们就可以按大陆有 2-3 个标记。

要清楚,我们需要这个: 在此处输入图片说明 图片来自https://github.com/googlemaps/js-marker-clusterer

我做了一些研究,发现 k-means 似乎是解决方案的一部分。因为我的数学真的很差,所以我尝试了几个像这样的 php 库:https : //github.com/bdelespierre/php-kmeans,这似乎做得不错。但是,有一个缺点:每次加载地图时我都必须解析所有表。在性能方面,这很糟糕。

所以我想知道是否有人已经解决了这个问题,或者是否有更好的解决方案。

php mysql group-by coordinates

5
推荐指数
1
解决办法
2263
查看次数

标签 统计

coordinates ×1

group-by ×1

mysql ×1

php ×1