使用谷歌地图检测附近

问题描述:

我有一个公司的地址和用户发送声明(也设置自己的位置)。使用谷歌地图检测附近

我只需要发送电子邮件给那些距离用户近20英里的公司。我怎样才能做到这一点?

+0

你用这种语言currenly这个功能 –

+0

我能够发送json到客户端和使用Javascript或直接在服务器上 - Rails。我想使用谷歌地图 - 不在乎什么端口。 – ValeriiVasin

不知道您为什么要使用Google地图,因为您要发送电子邮件并且不在地图上显示位置,对吧?

我认为你最好的答案是使用地理编码服务将地址转换为经度和纬度,然后将它们扔进Mongo或支持地理空间索引的其他数据库中。

所以在蒙戈DB地理编码后,你需要每个地址转换成类似:

{email: '[email protected]', address: 'address', loc : { lon : 40.739037, lat: 73.992964 } } 

之后,你可以查询数据库拉出电子邮件用户,在蒙戈它会是这样的:

db.emails.find({ loc : { $near : [50,50] } }).limit(20) 

https://developers.google.com/maps/documentation/geocoding/

http://www.mongodb.org/display/DOCS/Geospatial+Indexing

+0

不幸的是,我们使用Postgres。它有一个扩展名,但似乎它是我们的小项目的矫枉过正... – ValeriiVasin

+1

是你的服务器端JavaScript?如果是这样,你可以使用:http://*.com/questions/4717872/geospatial-queries-in-javascript –

+0

不,但似乎有提议的浏览器决定...我会尝试找到一些红宝石为导向那。谢谢。 – ValeriiVasin