如何在特定半径内的地图上显示点

Posted

技术标签:

【中文标题】如何在特定半径内的地图上显示点【英文标题】:how to show points on a map within a specific radius 【发布时间】:2015-02-20 02:33:53 【问题描述】:

我一直在寻找如何解决这个问题的明确方向。我正在考虑让用户能够使用特定半径(例如 5、10、25 英里)在地图上显示兴趣点...

什么是最好的解决方案: 1-确定用户地理位置(例如maxmind?谷歌地图?) 2- 在地图上显示兴趣点(当前加载在 GAE 数据存储中)

任何指导表示赞赏!

谢谢

【问题讨论】:

【参考方案1】:

根据https://developers.google.com/maps/documentation/business/geolocation/,Google Maps API 的地理位置在我(有偏见!-)看来非常好,但当然,您也可以货比三家寻找竞争对手(抱歉,我不熟悉他们, *** 不鼓励在不同的库、供应商等之间寻求建议的问题。

无论您使用什么来获取用户的地理位置,在 App Engine 中应用它的最佳方式是通过搜索 API,https://cloud.google.com/appengine/docs/python/search/——您将“兴趣点”坐标存储为搜索的 GeoPoint 属性“文档”,然后只需在索引中搜索该属性在用户位置的一定距离内(以米为单位,但不难从英里转换为米:-) 的“文档”。

最后,当然,您可以返回 Google Maps API(或您可能更喜欢的任何竞争对手)向用户展示一张地图,上面显示您的兴趣点(作为标记、适当的图像等)。

【讨论】:

以上是关于如何在特定半径内的地图上显示点的主要内容,如果未能解决你的问题,请参考以下文章

如何在android的地图上显示数据库中存储的位置?

# 如何圈出某点周边半径2公里的圆(用百度地图)?

如何在世界地图上准确地绘制半径以公里为单位的圆

如何仅在地图上的半径(圆圈)内显示标记?

区域内的地理点

如何使用用户的位置来显示他们附近或半径范围内的信息?