基于位置的 activity 应用 [iOS & Android] 搜索结果排名的想法

Ideas for Ranking of search results of a location-based activity app [iOS & Android]

我正在开发一个简单的 ios 应用程序,用户可以在其中对 Google 地点 API 提供的位置执行活动(评论、签到)。在第一次对它执行 activity 之后,我将位置的 ID、名称和坐标存储在应用程序的后端(在服务器上)。目前我的数据库中有两个表 Activity & Location。

现在我想在地图上向用户显示这些具有活动的位置。用户可以查看当前位置周围的位置,也可以从城市中搜索位置。我还希望允许用户在特定视口中搜索位置,例如 AirBnB 或 Fourthsquare。目前我的搜索查询采用中心坐标和半径以及 returns 我服务器上的所有可用位置。

我的问题是如何根据当前地图缩放比例在搜索结果中对我的位置进行排名。在 AirBnb 应用程序中,如果您 select 一个城市,那么它会显示 X 个可用房间,但在地图上它不会一次显示所有位置,但当您放大时,您会看到更多位置。我怎样才能做到这一点,因为当你放大时,搜索半径会减小,但地图上的位置数量实际上会增加?

我知道您可以在地图上以组图钉形式显示大量图钉(位置),当您放大时,该组图钉会变成单独的图钉,但我不想获取大量图钉从服务器。我只想显示根据当前缩放级别最适合的位置。

关于其他应用如何做这件事有什么想法吗?

如果您有一些统计信息(用户评分、访问次数等),您可以按该指标显示例如前 200 分。

这样您将在地图未缩放时限制行数,但仍显示该区域中最有价值的点(限于半径或正方形 X-X * Y-Y 坐标)。

另一方面,当您放大时,会显示越来越多的点,直到所有点都在地图上。