es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cambiar dinámicamente los valores de entrada para cada elemento dentro de un bucle foreach?

Quiero cambiar el valor de las coordenadas para cada elemento del mapa, dentro del bucle foreach. Por ejemplo, para el primer elemento del mapa quiero asignar coordinates[0] y así sucesivamente.
“`
function initMap() {<br>
var coordinates = [
{
"lat": 123,
"lng": 123
},
{
"lat": 123,
"lng": 123
},
{
"lat": 123,
"lng": 123
}
]
var mapElements = document.querySelectorAll('.map');
mapElements.forEach((element) => {
const uluru = { lat:coordinates[0].lat, lng:coordinates[0].lng};// cómo cambio dinámicamente los valores aquí
console.log(uluru);
const map = new google.maps.Map(element, {<br>
zoom: 4,
center: uluru,
});
const marker = new google.maps.Marker({
position: uluru,
map: map,
});
});
}

“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar dinámicamente los valores de coordenadas de cada elemento del mapa dentro del bucle forEach, se puede usar el parámetro índice que se pasa a la función de devolución de llamada forEach.

    Aquí es cómo se puede actualizar el código:

    function initMap() {    
        var coordinates = [
            {
                "lat": 123,
                "lng": 123
            },
            {
                "lat": 456,
                "lng": 456
            },
            {
                "lat": 789,
                "lng": 789
            }
        ];
        var mapElements = document.querySelectorAll('.map');
    
        mapElements.forEach((element, index) => {
            const uluru = { lat:coordinates[index].lat, lng:coordinates[index].lng};
            console.log(uluru);
            const map = new google.maps.Map(element, {    
                zoom: 4,
                center: uluru,
            });
            const marker = new google.maps.Marker({
                position: uluru,
                map: map,
            });
        });
    }
    

    En el código actualizado, pasamos el parámetro index a la función de devolución de llamada forEach, luego lo usamos para acceder a los valores de coordenadas correspondientes del array coordinates. Entonces, para el primer elemento del mapa, usamos coordinates[0], para el segundo elemento del mapa, usamos coordinates[1], y así sucesivamente.

Comments are closed.