Число не является функцией в gmaps4rails v2 с полилинией

Я пытаюсь использовать полилинию с gmaps4rails 2 и не могу понять, в чем ошибка...

когда я жестко кодирую свою полилинию, карта отображается, как и ожидалось. Однако, когда я получаю данные от контроллера, я получаю "Uncaught 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 заполняется правильно, а полилиния в консоли выглядит так же, как и жестко закодированная версия

консольный код, который работаетвведите описание изображения здесь

когда это не работаетвведите описание изображения здесь

любая идея?

1 ответ

Решение

Чтобы закрыть этот вопрос, который остается открытым без причины, давайте разместим мой ответ здесь:

Вы должны следовать правильному наименованию, заменить long с lng

Другие вопросы по тегам