gmaps4rails地图显示

时间:2013-03-16 17:55:50

标签: gmaps4rails

我是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网站上说。

&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34 ;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;& #34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34 ;&#34;&#34;&#34;&#34; 运行Rails生成器后,gmaps4rails.css将复制到您的应用程序。请确保在您的视图中要求使用此文件作为第一步。

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

&lt;%= stylesheet_link_tag&#39; gmaps4rails&#39; %GT; #&34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&# 34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34; #&34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&# 34;&#34;&#34;&#34;&#34;&#34;

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


发布调试器详细信息:

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

1 个答案:

答案 0 :(得分:0)

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

在那之后,你应该好好去(基于原始问题,并禁止任何后续更改)。