使用 MySQL 空间能力或经纬度查找 Rails 3“商店定位器”功能?
我有一个 Rails 3 应用程序,并且有几个用例需要支持。
给定地址或邮政编码的商店定位器。
以图形方式显示用户的来源。
以
对于第一个,我需要“在哪里购买”类型的函数的速度和准确性。
对于第二个,我不需要非常准确的数据,采用 IP 服务返回的任何内容就足够了。我基本上想放一张谷歌地图,上面插着一堆别针。
我现在在这方面的经验为零。我很高兴编写 Javascript,并且我已经安装了 GeoKit 来进行地理编码(我可以拼写这个词,但我还不太理解)。我感谢您提供的任何帮助。
我知道 MySQL 有空间扩展,并且更新看起来非常简单。也许这是一个分裂决策,我使用空间信息来存储商店位置,然后从用户的 IP 地址获取用户的位置。
对于站点使用用例,实时扫描日志文件或将命中存储在数据库中更有意义吗?
I have a Rails 3 application and I have a couple of use cases to support.
Store Locator given an address or zip code.
Graphical display of where users are originating from.
On the first one, I need speed and accuracy for a "Where to Buy" type of function.
On the second one, I don't need super accurate data, taking whatever the IP service returns is good enough. I basically want to put up a Google map with a bunch of pins stuck in it.
I have zero experience in this right now. I'm happy to write Javascript, and I have installed GeoKit to do the geocoding (a word which I can spell but which I don't really understand yet). I appreciate any help you can offer.
I know MySQL has spatial extensions and the updates look like they would be really simple. Maybe this is a split decision where I use the spatial information to store the store locations, then just get the location of a user from their IP address.
For the site usage use case, does it make more sense to scan a log file live, or to store hits in a database?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
地理编码是将地址或邮政编码等内容转换为纬度/经度坐标。
我使用 Google 的地理编码 API,但每天的请求数限制为2,500,除非您是 Google Maps API Premier 用户。它非常快(几乎我的 Rails 应用程序发出的每个请求都需要不到 0.1 秒)并且准确。不过请阅读一下,因为有更多有关地理编码的信息。
我使用从地理编码返回的纬度/经度来查询我的 MySQL 数据库,这是一个有点昂贵的查询,但在我相当小的表(大约 10,000 个具有纬度/经度值的对象)上仍然执行得非常快(同样,不到 0.1 秒) 。这是我使用的查询(将 {LAT} 和 {LNG} 替换为您的纬度和经度值):
Geocoding is converting something like an address or zip code to lat/long coordinates.
I use Google's Geocoding API, though the limit on the number of requests/day is 2,500 unless you're a Google Maps API Premier user. It's very fast (nearly every request my Rails app makes takes less than 0.1 seconds) and accurate. Have a read though, as there's more info on what geocoding is.
I use the lat/long returned from geocoding to query my MySQL database, which is a somewhat-expensive query but still executes very quickly (again, less than 0.1 seconds) over my reasonably small table (around 10,000 objects with lat/long values). Here's a query I use (replace {LAT} and {LNG} with your lat and long values):