javascript - 如何在 jSTL + javascript 中使用 foreach?

标签 javascript java jsp tomcat jstl

我尝试在 Google map 中添加图钉。我收集了带有坐标和名称的 ${list} 项目。我想要放入 map 中的每个项目。我写了一些代码:

<script>
function initMap() {
<c:forEach items="${list}" var="item">
    var cairo = {lat: ${item.geometry.lat}, lng: ${item.geometry.lng}};
    var map = new google.maps.Map(document.getElementById('map'), {
        scaleControl: true,
        center: cairo,
        zoom: 10
    });
    var infowindow = new google.maps.InfoWindow;
    infowindow.setContent('${item.name}');
</c:forEach>
}

但是我的代码不能正常工作。这在 map 中仅添加了集合中的一个(最后一个)项目。

请帮忙。

最佳答案

您可能需要创建一个标记点​​来映射

function initMap() {

var cairo =new google.maps.LatLng(38.54,77.02); 

var map = new google.maps.Map(document.getElementById('map'), {
    scaleControl: true,
    center: cairo,
    zoom: 10
});

<c:forEach items="${list}" var="item">

var infowindow = new google.maps.InfoWindow;

infowindow.setContent('${item.name}');

var myLatlng = new google.maps.LatLng(${item.geometry.lat}, ${item.geometry.lng});

 var marker = new google.maps.Marker({
    position : myLatlng,
    map : map,
    icon : 'img/icon.png' 
    title:${item.name}
   }); 
   google.maps.event.addListener(marker, 'click', function() {  
    // map.setZoom(15);  
    // map.setCenter(marker.getPosition());  
     infowindow.open(map, marker);  
    });  
  </c:forEach>

 }

关于javascript - 如何在 jSTL + javascript 中使用 foreach?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34834230/

相关文章:

javascript - 根据 ajax 响应,在提交按钮单击时返回 true/false

javascript - 在哪里放置我的 AJAX 代码

javascript - 在 Nexus Player、Android Cordova 应用程序上打开虚拟键盘时键入第一个字符

javascript - 如何根据复选框设置特定 div 的样式

java - 套接字是从我的一端还是另一端关闭的

java - 向 Java 类添加编程注释

java - 如何使用 ThreadLocal(特别是与 Servlet 一起使用)?

jsp - 是什么导致这个jsp Error 500?

java - 模拟 Spring 的 Controller :message tag?

jquery - 如何创建带有 taglib 前缀的 jquery 元素?