【问题标题】:Google Maps Multiple Marker with JS and JSTL [duplicate]带有 JS 和 JSTL 的 Google Maps Multiple Marker [重复]
【发布时间】:2015-10-18 11:25:27
【问题描述】:

这个answer 在硬编码位置上运行良好,但我想使用我的<c:forEach var="location" items="${latlng.rows}"> 并使用<sql:setDataSource> 标记从数据库中填充locations 变量。我的数据库表中有 6 行,但我只从地图上的数据库中获得最后一个标记。

这是硬编码的版本,可以正常工作:

<script type="text/javascript">
    var locations = [
      ['Bondi Beach', -33.890542, 151.274856, 4],
      ['Coogee Beach', -33.923036, 151.259052, 5],
      ['Cronulla Beach', -34.028249, 151.157507, 3],
      ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
      ['Maroubra Beach', -33.950198, 151.259302, 1]
    ];

.....
</script>

这是我的代码不起作用:

<script type="text/javascript">
   var locations = [
        <c:forEach var="location" items="${latlng.rows}">
            [<c:out value='${location.name}'/>,
             <c:out value='${location.latitude}'/>, 
             <c:out value='${location.longitude}'/>,
             <c:out value='${location.id}'/> ],
        </c:forEach>        
    ];
.....
</script>

如何从 forEach items 行获取输出以像硬编码版本一样工作?

【问题讨论】:

    标签: javascript google-maps jsp jstl


    【解决方案1】:

    我不知道这是否是正确的答案,但这对我有用,以防万一其他人遇到同样的问题。

        var locations = [];
            <c:forEach var="location" items="${latlng.rows}">
                locations.push(["${location.name}",
                                "${location.latitude}",
                                "${location.longitude}",
                                "${location.id}"]);
            </c:forEach>
    

    【讨论】:

      猜你喜欢
      • 2017-07-12
      • 2014-12-02
      • 1970-01-01
      • 2018-06-04
      • 2015-11-12
      • 2013-01-25
      • 1970-01-01
      • 2012-05-11
      • 2013-01-24
      相关资源
      最近更新 更多