Javascript 编号不是带有多段线的gmaps4rails v2中的函数

Javascript 编号不是带有多段线的gmaps4rails v2中的函数,javascript,ruby-on-rails-4,gmaps4rails,gmaps4rails2,Javascript,Ruby On Rails 4,Gmaps4rails,Gmaps4rails2,我正在尝试将多段线与gmaps4rails 2一起使用,但无法确定错误是什么 当我硬编码多段线时,地图将按预期显示。 然而,当我从控制器获取数据时,我得到一个“未捕获类型错误:数字不是函数” 以下代码与硬编码多段线一起工作 看法 $('#myModal2').on('show.bs.modal',函数(e){ handler=Gmaps.build('Google'); handler.buildMap({provider:{},internal:{id:'map2'}},function()

我正在尝试将多段线与gmaps4rails 2一起使用,但无法确定错误是什么

当我硬编码多段线时,地图将按预期显示。 然而,当我从控制器获取数据时,我得到一个“未捕获类型错误:数字不是函数”

以下代码与硬编码多段线一起工作

看法


$('#myModal2').on('show.bs.modal',函数(e){
handler=Gmaps.build('Google');
handler.buildMap({provider:{},internal:{id:'map2'}},function(){
多段线=[{“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(多段线[0]);
extend(polyline[polyline.length-1]);
handler.fitMapToBounds();
handler.getMap().setZoom(12);
});
});
但是这个没有

<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>

$('#myModal2').on('show.bs.modal',函数(e){
handler=Gmaps.build('Google');
handler.buildMap({provider:{},internal:{id:'map2'}},function(){
多段线=;
handler.addPolyline(polyline);
handler.bounds.extend(多段线[0]);
extend(polyline[polyline.length-1]);
handler.fitMapToBounds();
handler.getMap().setZoom(12);
});
});
控制器

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
def显示
@hashroute=[]
@list.routes.each do| route|
@hashroute.from_lat,:long=>route.from_long}
@hashroute.to_lat,:long=>route.to_long}
结束
回应待办事项|格式|
format.html{render:show}
format.json{head:ok}
结束
结束
@hashroute.to_json已正确填充,控制台中的多段线看起来与硬编码版本相同

控制台 有效的代码

当它不起作用时


有什么想法吗?

为了结束这个毫无理由悬而未决的问题,让我们把我的回答放在这里:


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

您研究过实际渲染的内容吗?显然呈现中存在问题…顺便说一句,如果不在变量前面使用
var
,它们将是全局的…谢谢…花了几个小时比较2,看不到任何差异:-)
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