Soy nuevo en javascript. Estoy escribiendo un evento de 'clic' con mapon. se ejecuta con éxito pero siempre devuelve el resultado del último clic.
var jsonline = {linelist: []}; var geojsonline = { type: "FeatureCollection", features:[], }; map.on('click', 'stations-layer', (e) => { // Copy coordinates array. const coordinates = e.features[0].geometry.coordinates.slice(); const lat_c = e.features[0].properties.lat; const lng_c = e.features[0].properties.lng; var description = e.features[0].properties.pid; console.log(description) urlflow = "http://dev.spatialdatacapture.org:8866/data/bikeselect/"+description; console.log(urlflow) function prepare_line(){ $.getJSON( urlflow , function(data) { jsonline.linelist=[] $.each(data, function(k,v){ jsonline.linelist.push(v); }) geojsonline.features=[] for (var i = 0; i < jsonline.linelist.length; i++){ geojsonline.features.push({ "type": "Feature", "properties": { "flows": jsonline.linelist[i].flows, "start_station_name": jsonline.linelist[i].start_station_name, }, "geometry": { "type": "LineString", "coordinates": [[jsonline.linelist[i].start_lng, jsonline.linelist[i].start_lat],[jsonline.linelist[i].end_lng, jsonline.linelist[i].end_lat]] } } ) } }) } $(document).ready(function(){ prepare_line(); }); console.log(geojsonline) map.getSource('lines_try').setData(geojsonline); });