Gmaps4Rails不显示标记

时间:2014-04-08 00:52:00

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

我正在尝试使用Gmaps4Rails gem来显示使用纬度/经度坐标的多个标记。

我有一个具有两个属性的位置模型,即“纬度”和“经度”。在我的控制器中,我有以下方法:

def display
    @locations = Location.all       

    @hash = Gmaps4rails.build_markers(@locations) do |location, marker|
      marker.lat location.latitude
      marker.lng location.longitude
    end

    p @hash.inspect

  end

当我查看日志时,所有Location对象的lat和&长坐标似乎是正确的。

在视图中,我有以下内容:

<div style='width: 800px;'>
  <div id="map" style='width: 1200px; height: 740px;'></div>
</div>

<script type="text/javascript">
    handler = Gmaps.build('Google');
    handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
      markers = handler.addMarkers(<%= raw(@hash.to_json) %>);
      handler.bounds.extendWith(markers);
      handler.fitMapToBounds();
    });
</script>

当我加载视图时,我看到以下内容,但是当我放大或缩小时,背景变得不透明。

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

正如评论中所述,当坐标为空时,谷歌地图会崩溃。

您需要在模型上创建一个范围,只需获取有效的地理编码对象。