【问题标题】:gmaps4rails map displaygmaps4rails 地图显示
【发布时间】:2013-03-16 17:55:50
【问题描述】:

我是 Ruby on Rails 的新手,正在尝试使用 gmaps4rails gem。经度和纬度自动显示,但地图没有出现。如果我查看页面源信息,似乎正在调用和创建地图,所以我不确定它为什么没有显示。 可以在这里看到:

    <script src="//maps.google.com/maps/api/js?v=3.8&amp;sensor=false&amp;client=&   amp;key=& amp;libraries=geometry&amp;language=&amp;hl=&amp;region=" type="text/javascript"></script>
    <script src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js" type="text/javascript"></script>

    <script type="text/javascript">
      Gmaps.map = new Gmaps4RailsGoogle();
      Gmaps.load_map = function() {
      Gmaps.map.map_options.auto_adjust = true;
      Gmaps.map.initialize();
      Gmaps.map.markers = [{"lat":40.8217303,"lng":-73.9551369},             {"lat":41.4925374,"lng":-99.9018131},{"lat":50.3429668,"lng":18.5540869}];
      Gmaps.map.markers_conf.do_clustering = true;
      Gmaps.map.create_markers();
      Gmaps.map.adjustMapToBounds();
      Gmaps.map.callback();
       };

我是否需要在我的文档中包含一些其他文件才能显示地图?这些文件会在哪里?我正在使用 Ruby 1.9.3 和 Rails 3.2.12。 我看到此类问题已被多次询问和回答,但我无法从这些答案中得到解决方案。感谢您的帮助。

更新:

这是我的看法:

            <br />
            <%= link_to 'New Bathroom', new_bathroom_path %>
            <%= gmaps4rails(@json) %>

型号:

  acts_as_gmappable

      def gmaps4rails_address
      address

控制器:

    def index
     @bathrooms = Bathroom.all
  @json = Bathroom.all.to_gmaps4rails
    respond_to do |format|
      format.html # index.html.erb
      format.json { render :json => @bathrooms }
     end
     end

和 application.html

       <%= yield %>
       <%= yield :scripts %>
     <%= stylesheet_link_tag 'gmaps4rails' %>

     </body>
    </html>

我想知道的一件事是我是否需要将一些资产复制到应用程序。它在github网站上说。

"""""""""""""""""""""""""""""""""""""""""" gmaps4rails.css 将在您运行 Rails 生成器后复制到您的应用程序中。确保在您的第一步中需要此文件。

对于 Rails 3.0.x 或没有资产管道:

"""""""""""""""""""""""""""""""""""""""""""""

由于我没有看到 gmaps4rails.css 文件,我想知道这是否是问题所在。感谢您的帮助。


发布调试器详细信息:

是的,这是真的。我几乎没有这方面的经验。我按照你的建议得到了 Firebug,发现当我在页面上滑动时,调试器中的谷歌脚本永远不会突出显示。我看到它确实尝试调用 googleapis.com 但是不同操作的时间为零,除了阻塞和等待。这让我觉得谷歌服务器没有发送任何内容。在 Get gmaps4rails.css 下,它在我的 app/asset 文件夹中查找并出现 404 错误。我正在学习如何理解所有这些信息,如果我是正确的,似乎服务器对谷歌的请求由于某种原因被阻止,它认为我的 css 文件在资产文件夹中。如果我是正确的,我真的不知道从这里去哪里。请告诉我哪些信息有助于更清楚地说明这个问题。

【问题讨论】:

  • 请向我们展示整个视图。我有一种感觉,你没有包括一些东西。
  • 谢谢我刚刚在更新下添加了信息。
  • CSS 不存在肯定是它,但你确定它不存在吗?在浏览器中检查生成的 HTML 源代码了吗?
  • CSS 肯定存在,因为它是在 html 中生成的。我尝试添加一些尺寸修改,因为它似乎解决了一些人的问题。但我必须在脚手架.css.scss 文件中添加大小修改。当我添加 .map_container 和 .gmaps4rails_map 类时,这给了我一张没有图像的空白地图。我想知道是否可以在此文件中添加一些内容以显示实际地图。再次感谢!
  • 听起来你需要了解更多关于 HTML/CSS 调试的知识。如果您使用的是 Chrome 或 Safari,请查看使用 Web Inspector,如果您使用的是 Firefox,请查看 Firebug。这将允许您查看各个 HTML 元素并查看正在/未将哪些样式应用于元素。它还将显示加载样式表/脚本/等是否有任何错误。 developers.google.com/chrome-developer-tools

标签: gmaps4rails


【解决方案1】:

您需要运行“rails generate gmaps4rails:install”。这将提供缺失的位(并且 css 将在 rails 3.2 中自动获取)。

之后,您应该一切顺利(基于原始问题,并且除非有任何后续更改)。

【讨论】:

    猜你喜欢
    • 2013-09-23
    • 1970-01-01
    • 2011-08-18
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多