number不是gmaps4rails v2中带折线的函数

时间:2014-05-22 06:02:08

标签: javascript ruby-on-rails-4 gmaps4rails gmaps4rails2

我试图将折线与gmaps4rails 2一起使用,并且无法弄清楚错误是什么......

当我对折线进行硬编码时,地图会按预期显示。 但是,当我从控制器获取数据时,我得到一个"未捕获的TypeError:数字不是函数"

以下带有硬编码折线的代码

视图

<script>
 $('#myModal2').on('shown.bs.modal', function (e) { 
  handler = Gmaps.build('Google');
  handler.buildMap({ provider: {}, internal: {id: 'map2'}}, function(){    
    polyline = [{"lat":49.9574400,"lng":-123.1201800}, {"lat":49.9465300,"lng":-123.0553700},{"lat":49.9598300,"lng":-123.0475400},{"lat":49.9750500,"lng":-123.0427700}];    
    handler.addPolyline(polyline);
    handler.bounds.extend(polyline[0]);
    handler.bounds.extend(polyline[ polyline.length - 1]);
    handler.fitMapToBounds();
    handler.getMap().setZoom(12);
  });
  });
</script>

但这个没有

<script>
$('#myModal2').on('shown.bs.modal', function (e) { 
  handler = Gmaps.build('Google');
  handler.buildMap({ provider: {}, internal: {id: 'map2'}}, function(){       
    polyline = <%=raw @hashroute.to_json %>;
    handler.addPolyline(polyline);
    handler.bounds.extend(polyline[0]);
    handler.bounds.extend(polyline[ polyline.length - 1]);
    handler.fitMapToBounds();
    handler.getMap().setZoom(12);
  });
  });
</script>

控制器

def show
     @hashroute =[]
     @list.routes.each do |route|
      @hashroute << { :lat => route.from_lat, :long => route.from_long}
      @hashroute << { :lat => route.to_lat, :long => route.to_long}
     end

 respond_to do |format|
          format.html {render :show}
          format.json { head :ok}
        end

end

正确填充@ hashroute.to_json并且控制台中的折线看起来与硬编码版本相同

控制台 有效的代码 enter image description here

什么时候不起作用 enter image description here

任何想法?

1 个答案:

答案 0 :(得分:1)

为了结束这个仍然没有理由开放的问题,让我在这里发表评论:

您必须遵循正确的命名,将long替换为lng