Я пытаюсь использовать полилинию с 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 заполнен правильно, а полилиния в консоли выглядит так же, как жестко закодированная версия
код консоли, который работает
когда это не работает
Есть идеи?
var
перед своими переменными, они будут глобальными... - person Luke   schedule 23.05.2014