使用谷歌地图检测附近
Posted
技术标签:
【中文标题】使用谷歌地图检测附近【英文标题】:Detect nearby using google maps 【发布时间】:2012-06-06 11:48:18 【问题描述】:我有一份公司列表,其中包含发送索赔的地址和用户(也设置了他们自己的位置)。
我只需要为用户附近 20 英里内的公司发送电子邮件。我该怎么做?
【问题讨论】:
你目前使用哪种语言来实现这个功能 我能够将 json 发送到客户端并使用 javascript 或直接在服务器 - Rails 上。我想使用谷歌地图 - 不在乎端口是什么。 【参考方案1】:不确定您为什么要使用 Google 地图,因为您发送电子邮件而不是在地图上显示位置,对吧?
我认为您最好的答案是使用地理编码服务将地址转换为纬度和经度,然后将它们放入 Mongo 或其他支持地理空间索引的数据库中。
所以在地理编码后的 Mongo DB 中,您需要将每个地址转换为如下内容:
email: 'foobar@foobar.com', address: 'address', loc : lon : 40.739037, lat: 73.992964
之后,您可以查询数据库以提取用户的电子邮件,在 Mongo 中会是这样的:
db.emails.find( loc : $near : [50,50] ).limit(20)
https://developers.google.com/maps/documentation/geocoding/
http://www.mongodb.org/display/DOCS/Geospatial+Indexing
【讨论】:
不幸的是,我们使用 Postgres。它有一个扩展,但对于我们的小项目来说似乎有点过头了...... 你的服务器端是javascript吗?如果是这样,您可以使用:***.com/questions/4717872/… 不,但似乎已经为浏览器提出了建议......我会尝试为此找到一些面向 ruby 的东西。谢谢。 很好用,你用吗?我调不起来总是看到“geocoded_by”方法未定义等等..以上是关于使用谷歌地图检测附近的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 谷歌地图中显示附近的地方,如自动取款机、医院?