Gmaps4Rails谷歌地图互动最近的位置功能不熟悉谷歌地图API

时间:2013-07-28 20:50:32

标签: ruby-on-rails google-maps gmaps4rails

目前我正在使用gmaps4rails gem构建rails应用程序。我只在这个工作了十天,

http://greenearth.herokuapp.com/

我道歉我只有一个达因,所以在heroku上可能会很慢。

据我所知,宝石与google js api v3互动。基本上我正在制作一个rails应用程序,我想在谷歌地图上显示垃圾箱位置。我有一个表,地址作为表中的列,gem允许我获取地址列并在地图上吐出标记。我必须查询所有地址,用gem提供的方法将它们转换为json(并将其添加到我的模型中),然后将它带到我的视图中。它将生成所需的javascript。

我很想切换到地理编码器宝石,因为它有更好的记录。这个宝石没有很好的记录。我无法找到与此gem相关的stackoverflow问题。

我的下一步是添加一个功能,任何人都可以在表单上放置最直接的地址,地图(谷歌api)将计算我的垃圾箱位置最接近此输入地址。

gem的wiki没有很好的记录。我对谷歌地图api并不熟悉。同时有人能指出我正确的教程吗?还是正确的方向?

2 个答案:

答案 0 :(得分:2)

在进一步研究之后,似乎开发人员(apneadiving)实际上非常活跃,只是不在同一个地方,请参阅这些功能指南:http://www.youtube.com/watch?v=Yg5-33zedqM

还有第二个视频。

进一步研究我无法在文档中看到计算距离的方法。

我建议您尝试使用本教程:

http://briancray.com/posts/how-to-calculate-the-distance-between-two-addresses-with-javascript-and-google-maps-api

或者只是关注Google提供的距离矩阵服务。

我没有尝试将这些与gem一起使用,因此您可能必须根据现有变量更改代码。它应该更容易,因为你已经保存了地址和Lats / longs。

您是否还要将应用程序设置为初始地对用户进行地理定位?

我正在处理类似的问题,所以当我到达那里时会更新。

答案 1 :(得分:0)

好的,所以看完不同的宝石之后我会建议使用geocoder和gmaps4rails来达到你想要的效果。我建议gmaps4rails用于地图渲染和标记添加,并使用Geocoder进行距离计算。不幸的是,这些功能中的宝石都不是全面的。

有关如何使用地理编码器通过表单显示附近位置的良好轨道广播:http://www.youtube.com/watch?v=mUvGAcaW3bA

地理编码器中的方法很简单:

@address.nearbys(20)

其中“20”是一个半径,在此范围内,结果将根据您的其他条目显示。或者,您可以使用以下方式获取用户的当前位置:

request.ip / request.location 

将此声明为变量,然后在show视图中显示附近的bin结果(覆盖在rails cast中)。请注意,当前位置在测试/开发环境中工作,因为它在gem的主页上显示了webrick地址。

希望有所帮助!