我想问一下哪个是将谷歌地图集成到 ruby on rails 应用程序的最佳解决方案。一个特定的宝石值得还是我们应该为它写下自己的观点?
感谢您的任何意见。
我想问一下哪个是将谷歌地图集成到 ruby on rails 应用程序的最佳解决方案。一个特定的宝石值得还是我们应该为它写下自己的观点?
感谢您的任何意见。
仅供参考,我已经完成了 gmaps4rails 的稳定版本。
如果您的要求只是显示特定区域的谷歌地图,可能带有一些标记,您可以使用谷歌地图静态图像 API,例如:
<img src="http://maps.google.com/maps/api/staticmap?size=255x255&maptype=roadmap&sensor=false&markers=color:blue|label:A|Chicago,IL&markers=color:purple|label:B|Hammond,IN" alt="Static, Marked Map of Chicago, Illinois and Hammond, Indiana with no Center and Zoom"></img>
结果是:
这是一篇关于主题的好文章。也可以在标记上用纬度和经度指定地理位置:
markers=color:pink|label:A|55.783041, -137.500994
因此,在 Rails 中,您可以使用例如image_tag
google map image path helper:
= image_tag google_map_image_path, :alt => "Google Map"
我之前使用过 YM4R、Geruby 和空间适配器 gem,效果很好。看到这个描述。
截至 2012 年 11 月,我发现的谷歌地图集成的最佳宝石是geocoder
它提供对象地理编码(按街道或 IP 地址)、反向地理编码(与街道地址的坐标)、ActiveRecord 和 Mongoid 的距离查询、结果缓存和更多的。专为 Rails 设计,但也适用于 Sinatra 和其他 Rack 框架。
你也可以得到一个railscasts。
GoogleMaps gem 是一个不错的选择。它添加了所有基本的 JS 脚本,但无论如何,如果没有 JS 编码,就无法完成功能齐全的动态地图。
还有 JS 插件,其中最吸引人的是 gmap3、Mapplace.Js 和 gmaps.js。
宝石和插件可以节省基本的时间,但使用它们会带来一些限制。例如,如果 Google 对其 Maps API 进行了更改,您必须等待 gem 或插件的更新版本或手动集成。
事实上,将谷歌地图集成到 Rails 应用程序中并没有什么大的困难,恕我直言,在没有宝石的情况下这样做是有道理的。
有关将 Google 地图集成到 Ruby on Rails 应用程序中的详细演练,请参阅这篇文章:如何将 Google 地图集成到 Ruby on Rails 应用程序中。
截至 2021 年 12 月,我推荐使用 Stimulus.js的这种方法https://www.driftingruby.com/episodes/google-maps-api-with-stimulusjs
必须为 Rails 7 更新一些位。
rails webpacker:install:stimulus
,它已经通过 Hotwire 包含在内import { Controller} from "stimulus"
已经成为import { Controller } from "@hotwired/stimulus"
就是这样