2012-06-06 258 views
0

我有一個公司的地址和用戶發送聲明(也設置自己的位置)。使用谷歌地圖檢測附近

我只需要發送電子郵件給那些距離用戶近20英里的公司。我怎樣才能做到這一點?

+0

你用這種語言currenly這個功能 –

+0

我能夠發送json到客戶端和使用Javascript或直接在服務器上 - Rails。我想使用谷歌地圖 - 不在乎什麼端口。 – ValeriiVasin

回答

1

不知道您爲什麼要使用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://stackoverflow.com/questions/4717872/geospatial-queries-in-javascript –

+0

不,但似乎有提議的瀏覽器決定...我會嘗試找到一些紅寶石爲導向那。謝謝。 – ValeriiVasin

相關問題