Estou criando uma matriz para uma lista de marcadores do mapa do google. O código funciona para um forEach
loop, mas preciso adicionar elementos de uma nova matriz à lista também.
Meu código atual mostra a seguinte mensagem de erro em var
do resultado2.
Syntax error on token "var", ; expected
Código para uma matriz
var results = [
<c:forEach var="cus" items="${customer}" varStatus="loop">[
"${cus.value.name}", "${cus.value.latitude}",
"${cus.value.longitude}", "${loop.index}",
"${cus.value.id}"], </c:forEach> ];
Código para duas matrizes
var results = "[" +
<c:forEach var="cus" items="${customer}" varStatus="loop">[
"${cus.value.name}", "${cus.value.latitude}",
"${cus.value.longitude}", "${loop.index}",
"${cus.value.id}"], </c:forEach>
var results2 = results + <c:forEach var="staff" items="${staff}" varStatus="loop">
+ "[" +
"${staff.value.name}", "${staff.value.latitude}",
"${staff.value.longitude}", "${loop.index}",
"${staff.value.id}"], </c:forEach>
+"]";
Respostas:
1 para resposta № 1Primeiro, no seu código para duas matrizes, você não deseja colocar colchetes entre aspas. Isso fará com que todas as matrizes result
e result2
ser um Strings.
Segundo, falta o suporte de fechamento para results
, falta o suporte de abertura para results2
.
Terceiro, você não pode apenas +
as matrizes em JavaScript. Há um concat()
método para isso.
Tente isto:
var results = [
<c:forEach var="cus" items="${customer}" varStatus="loop">
[
"${cus.value.name}",
"${cus.value.latitude}",
"${cus.value.longitude}",
"${loop.index}",
"${cus.value.id}"
],</c:forEach>
];
var results2 = results.concat([
<c:forEach var="staff" items="${staff}" varStatus="loop">
[
"${staff.value.name}",
"${staff.value.latitude}",
"${staff.value.longitude}",
"${loop.index}",
"${staff.value.id}"
],</c:forEach>
]);