我是Ruby on Rails的新手,我正在尝试使用gmaps4rails gem。经度和纬度会自动显示,但地图不会显示。如果我查看页面源信息,似乎地图正在调用和创建,所以我不确定它为什么没有显示。 这可以在这里看到:
<script src="//maps.google.com/maps/api/js?v=3.8&sensor=false&client=& amp;key=& amp;libraries=geometry&language=&hl=&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文件位于资产文件夹中。如果我是对的,我真的不知道从哪里开始。请告诉我哪些信息有助于使这个问题更清楚。
答案 0 :(得分:0)
你需要运行'rails generate gmaps4rails:install'。这将提供缺失的位(并且css将在rails 3.2中自动获取)。
在那之后,你应该好好去(基于原始问题,并禁止任何后续更改)。