2014-11-05 5 views
0

У меня есть массив с более чем 30 местоположениями, которые я хотел бы отображать на своей карте. Тем не менее, я не нашел один источник, который демонстрирует, как итерации через массив, чтобы маркеры отображались на карте, но вместо этого предпочитаете строго жестко кодировать значения карты lat/long.Gmaps4rails, проходящий через массив

Например, это код, у меня есть на данный момент, но он возвращает ошибку:

allLocations = root.table.rows().data() 
    root.forMap = [] 
    for aLocation in allLocations 
    root.forMap.push(aLocation[9] + ', ' + aLocation[10]) 

    $('#multi_markers').map -> 
    handler = Gmaps.build("Google") 
    handler.buildMap 
     internal: 
     id: "multi_markers" 
    , -> 
    markers = handler.addMarkers(root.forMap) 
    handler.bounds.extendWith markers 
    handler.fitMapToBounds() 

Примечания: Я не могу просто использовать методы рубина, поскольку таблица должна также взаимодействовать с DataTable данных в .js .coffee.

Как я могу пройти через массив в методе gmaps4rails?

ответ

-1

С handler.addMarkers берет массив, почему бы просто не использовать jQuery.map и не создать массив маркеров заранее?

all_locations = $.map root.table.rows().data(), (row)-> 
    return { 
    lat: row[9], 
    lng: row[10] 
    } 

$('#multi_markers').map -> 
    handler = Gmaps.build("Google") 
    handler.buildMap 
     internal: 
     id: "multi_markers" 
    , -> 
    markers = handler.addMarkers(allLocations) 
    handler.bounds.extendWith markers 
    handler.fitMapToBounds() 
+0

Я сосать в coffeescript - так что это может не сработать сразу с места в карьер, но вы должны получить общую идею. – max

+0

Как добавить несколько маркеров динамически? – Sauron

+0

Вы прочитали readme на https://github.com/apneadiving/Google-Maps-for-Rails? – max

Смежные вопросы