gmaps4rails gem v2.0.4 marker changes position every time the page is refreshed
如果这个问题很愚蠢/没有被正确提问,我提前道歉,这是我在 stackoverflow 中的第一篇文章,我在 RoR 是全新的……
我有一个使用 gem gmaps4rails v2.0.4 的 rails 应用程序。该应用程序接收地址(街道、城市和国家/地区),使用地理编码器计算纬度和经度,然后将它们插入我的标记生成器。
每次我刷新我的显示页面时,谷歌地图中的标记都会改变位置…我什至尝试插入实际的纬度和经度 ([{“lat”:49.245253,”lng”:-123.0651361}]) 而不是 “raw @hash.to_json” 并且它仍然呈现标记每次我刷新时都在不同的位置。
有谁知道如何解决这个问题?
注意:我也尝试在谷歌地图中复制和粘贴该坐标,并且标记的位置非常一致。我的 controller.rb 和 show.html.erb 粘贴在下面。提前致谢!!
控制器.rb
1
2 3 4 |
@hash = Gmaps4rails.build_markers(@branches) do |branch, marker|
marker.lat branch.latitude marker.lng branch.longitude end |
show.html.erb
1
2 3 4 5 6 7 |
<script type=“text/javascript”>
handler = Gmaps.build(‘Google’); handler.buildMap({ provider: {}, internal: {id: ‘map’}}, function(){ markers = handler.addMarkers(<%=raw @hash.to_json %>); handler.bounds.extendWith(markers); handler.fitMapToBounds(); }); |
- 我觉得我没有提供足够的信息,所以请让我知道我错过了什么……
- 地球在旋转,标记也在旋转……呵呵……抱歉只是为了插科打诨!! :P
- 哦,伙计,我希望我在问之前考虑到这一点><
这是一个防止重叠的功能。它记录在此处的代码中。
您可以自定义或删除该行为,例如:
1
|
handler = Gmaps.build(‘Google’, { markers: { maxRandomDistance: null } });
|
- 感谢您的快速答复!!并保持与 gem 的良好合作:)
来源:https://www.codenong.com/19946473/