GoogleMapsAPIとJSPを使用してアプリケーションを作成しています。イベントをマーカーに追加し、クエリ文字列を使用して値を渡すと、マーカーの実際の値ではなく、常に同じ値が取得されるため、問題が発生しています。誰かが私が間違っていることを教えてもらえますか?
<%
Query query2 = em.createNamedQuery("Factories.findAll");
List<Factories> factories = query2.getResultList();
for (int i = 0; i < factories.size(); i++) {
Float longitude = factories.get(i).getLongitude();
Float latitude = factories.get(i).getLatitude();
String name = factories.get(i).getName();
Integer id = factories.get(i).getFactoryID();
%>
var marker = new google.maps.Marker({
position: new google.maps.LatLng(<%=latitude%>, <%=longitude%>),
raiseOnDrag:true,
title: "<%=name%>",
clickable:true,
zIndex: <%=id%>,
map: map
});
google.maps.event.addListener(marker, 'click', function() {
window.location = "viewFireworksFactory.jsp?id=" + marker.getZIndex();
});
<% }%>