Gmaps4rails Многоугольник

Я новичок в рельсах и понятия не имею, как сгенерировать правильный javascript для создания многоугольников в gmaps4rails. Мне удалось отобразить карты Google с маркерами, но я не понимаю, как сгенерировать соответствующий код json, как показано в https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Polygons. Я хотел бы генерировать все через рельсы, а не жестко кодировать какой-либо javascript.

Вот мой тестовый код для рисования только первого многоугольника в модели location_data. Атрибуты широты и долготы сериализованы.

Контроллер

class HomeController < ApplicationController
skip_load_and_authorize_resource
 skip_before_filter :authenticate_user!
def index

LocationData.find_each do |location|

@polygons = Array.new(LocationData.count,Array.new)

location.latitude.each_index do |index|
@polygons[0] << { :lat => location.latitude[index], :lng =>location.longitude[index]}
end


    end
#@polygons.to_json

respond_to do |format|
format.html
format.json { render json: @polygons }   

end
end
end

Сгенерированный Javascript выглядит так

Gmaps.map = new Gmaps4RailsGoogle();
Gmaps.load_map = function() {
Gmaps.map.initialize();
Gmaps.map.polygons = [[{"lat"=>42.31276, "lng"=>-71.03645}, {"lat"=>42.35653, "lng"=>-71.06754}, {"lat"=>42.45453, "lng"=>-71.7856}]];
Gmaps.map.polygons_conf.fillColor = "#000";
Gmaps.map.create_polygons();
Gmaps.map.adjustMapToBounds();
Gmaps.map.callback();
};
Gmaps.oldOnload = window.onload;
 window.onload = function() { Gmaps.triggerOldOnload(); Gmaps.loadMaps(); };

Вид

<%= gmaps({
       "polygons"    => { "data" => @polygons    , "options" => { "fillColor" => "#000" } }
     })
 %>

Сравнивая его с кодом вики, я заметил, что в javascript по какой-то странной причине есть =>.

Обновлять

В моем коде отсутствовала строчка

@polygons = @polygons.to_json

person Diceydawg    schedule 08.04.2013    source источник


Ответы (1)


В моем контроллере отсутствовала одна строка кода.

@polygons = @polygons.to_json
person Diceydawg    schedule 08.04.2013