【问题标题】:Ruby on rails gem for google map integration用于谷歌地图集成的 Ruby on rails gem
【发布时间】:2010-10-28 13:20:39
【问题描述】:

我想问一下哪个是将 google 地图集成到 ruby​​ on rails 应用程序的最佳解决方案。一个特定的宝石值得还是我们应该为它写自己的观点?

感谢您的任何意见。

【问题讨论】:

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


    【解决方案1】:

    我之前使用过 YM4R、Geruby 和空间适配器 gem,效果很好。 看到这个description

    【讨论】:

      【解决方案2】:

      仅供参考,我已经完成了 gmaps4rails 的稳定版本。

      见:https://github.com/apneadiving/Google-Maps-for-Rails

      【讨论】:

        【解决方案3】:

        如果您的要求只是显示特定区域的谷歌地图,可能带有一些标记,您可以使用谷歌地图静态图像 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"
        

        【讨论】:

          【解决方案4】:

          截至 2012 年 11 月,我发现的谷歌地图集成的最佳 gem 是 geocoder
          它提供对象地理编码(按街道或 IP 地址)、反向地理编码(与街道地址的坐标)、距离查询ActiveRecord 和 Mongoid、结果缓存等。专为 Rails 设计,但也适用于 Sinatra 和其他 Rack 框架。

          您也可以获得railscasts

          【讨论】:

          • 地理编码只是图片的一部分,可能对提问者很重要,也可能不重要。对于 Google 地图,我使用 Google Maps 4 Rails(连同 Geocoder)。
          【解决方案5】:

          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

          【讨论】:

            【解决方案6】:

            截至 2021 年 12 月,我推荐这种使用 Stimulus.js 的方法 https://www.driftingruby.com/episodes/google-maps-api-with-stimulusjs

            必须为 Rails 7 更新一些位。

            1. 你不需要做rails webpacker:install:stimulus,它已经通过 Hotwire 包含在内
            2. 将 turbolink 重命名为 turbo
            3. packs/application.js 不再存在,我还没有找到最好的位置。现在我把它放在 app/javascripts/controllers/index.js
            4. import { Controller} from "stimulus" 变成了import { Controller } from "@hotwired/stimulus"

            就是这样

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-02-15
              • 2015-06-16
              • 1970-01-01
              • 2012-03-07
              相关资源
              最近更新 更多