使用谷歌地图检测附近

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 谷歌地图中显示附近的地方,如自动取款机、医院?

使用相同的安卓应用在谷歌地图中查找附近设备的位置

我正在尝试在android中的谷歌地图上搜索附近的地方,例如银行,餐馆,自动取款机

即使我获得了 API 密钥,也无法使用谷歌地图

安卓。谷歌地图API实现标记点击