【发布时间】:2010-10-28 13:20:39
【问题描述】:
我想问一下哪个是将 google 地图集成到 ruby on rails 应用程序的最佳解决方案。一个特定的宝石值得还是我们应该为它写自己的观点?
感谢您的任何意见。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 google-maps gmaps4rails
我想问一下哪个是将 google 地图集成到 ruby on rails 应用程序的最佳解决方案。一个特定的宝石值得还是我们应该为它写自己的观点?
感谢您的任何意见。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 google-maps gmaps4rails
我之前使用过 YM4R、Geruby 和空间适配器 gem,效果很好。 看到这个description。
【讨论】:
仅供参考,我已经完成了 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>
结果是:
这是一个很好的article 主题。也可以在标记上指定经纬度的地理位置:
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"
【讨论】:
截至 2012 年 11 月,我发现的谷歌地图集成的最佳 gem 是 geocoder
它提供对象地理编码(按街道或 IP 地址)、反向地理编码(与街道地址的坐标)、距离查询ActiveRecord 和 Mongoid、结果缓存等。专为 Rails 设计,但也适用于 Sinatra 和其他 Rack 框架。
您也可以获得railscasts。
【讨论】:
GoogleMaps gem 是一个不错的选择。它添加了所有基本的 JS 脚本,但无论如何,如果没有 JS 编码,就无法完成功能齐全的动态地图。
还有JS插件,其中最吸引人的就是gmap3、Mapplace.Js和gmaps.js。
宝石和插件可以节省基本的时间,但使用它们会带来一些限制。例如,如果 Google 对其 Maps API 进行了更改,您必须等待 gem 或插件的更新版本或手动集成。
事实上,将 Google 地图集成到 Rails 应用程序中并没有什么大的困难,恕我直言,在没有 gem 的情况下这样做是有道理的。
有关将 Google 地图集成到 ruby on rails 应用程序的详细演练,请参阅本文:How to Integrate Google Maps into Ruby on Rails App。
【讨论】:
截至 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"
就是这样
【讨论】: