【问题标题】:rails send database vlaue to javascriptrails 将数据库值发送到 javascript
【发布时间】:2013-05-19 23:31:43
【问题描述】:

我在 rails 3.2 中有以下 javascript 代码。

函数初始化(){ var myLatLng = 新 google.maps.LatLng(34.553366482, 49.783977595); var mapOptions = { 缩放:12, 中心:myLatLng, mapTypeId:google.maps.MapTypeId.TERRAIN };

    var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

    var flightPlanCoordinates = [
        new google.maps.LatLng(34.553366482, 49.783977595),
        new google.maps.LatLng(34.554122088, 49.783895487),
        new google.maps.LatLng(34.554483305, 49.783853715),
        new google.maps.LatLng(34.555332372, 49.783720553),

        new google.maps.LatLng(34.556189752, 49.783658072),
        new google.maps.LatLng(34.556664709, 49.783605137),
        new google.maps.LatLng(34.556769403, 49.783602219),
        new google.maps.LatLng(34.556787772, 49.783469404),

        new google.maps.LatLng(34.556793727, 49.783317126),
        new google.maps.LatLng(34.555050604, 49.783479752),
        new google.maps.LatLng(34.554290633, 49.783555281),
        new google.maps.LatLng(34.55376046, 49.783620191),

        new google.maps.LatLng(34.553413552, 49.783659434),
        new google.maps.LatLng(34.553275583, 49.783705246),
        new google.maps.LatLng(34.553366482, 49.783977595),

    ];
    var flightPath = new google.maps.Polyline({
      path: flightPlanCoordinates,
      strokeColor: '#FF0000',
      strokeOpacity: 1.0,
      strokeWeight: 2
    });

    flightPath.setMap(map);
  }

</script>

这是在谷歌地图上显示点的一种方式。我想从数据库中获取积分并发送到 javascript。我怎么能在一个循环中做到这一点?

【问题讨论】:

    标签: javascript ruby-on-rails-3


    【解决方案1】:

    您可以在您的 Rails 视图之一中创建一个 javascript 变量(更具体地说是 json),以便它可用于上面的脚本。

    在控制器/模型中:

    @coordinates = Coordinates(..your query...).get_json
    

    根据您的观点,这些点将显示在哪里,取决于您使用的是 erb 还是 haml,请执行以下操作:

    哈姆:

    :javascript
     var coords = "#{@coordinates.to_json}"
    

    Erb:

    <script type="text/javascript">
      var coords = "<%= escape_javascript(@coordinates.to_json)%>"
    </script>
    

    现在您可以遍历上面 flightPlanCoordinates 中的 coords json 并制作标记。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-26
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      相关资源
      最近更新 更多