如何在特定半径内的地图上显示点
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(或您可能更喜欢的任何竞争对手)向用户展示一张地图,上面显示您的兴趣点(作为标记、适当的图像等)。
【讨论】:
以上是关于如何在特定半径内的地图上显示点的主要内容,如果未能解决你的问题,请参考以下文章