Gmaps4rails循环遍历数组

时间:2014-11-05 01:38:02

标签: jquery ruby-on-rails coffeescript gmaps4rails

我有一个包含30多个位置的数组,我想在地图上显示。但是,我没有找到一个演示如何迭代数组以便标记出现在地图上的源,而是选择严格硬编码地图lat / long值。

例如,这是我目前的代码,但它返回错误:

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

注意:我不能简单地使用ruby方法,因为该表还必须与.js.coffee文件中的DataTable数据进行交互。

如何在gmaps4rails方法中循环遍历数组?

1 个答案:

答案 0 :(得分:-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()