Информация не обновляется в цикле javascript mapbox - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь получить данные из базы данных и отправить их в mapboxClient.geocoding.forwardGeocode в качестве запроса для получения координат.Что я хочу, так это после получения координат показать маркер с некоторой информацией на карте.Но координаты работают нормально, но все маркеры показывают ту же информацию (первый элемент в цикле) .. вот код

function createGeoJsonPrime(info){
//console.log(info);
var i=0;
for(var key in info){
    var obj= info[key];
    //console.log(obj);
    var adr=obj.address+", "+obj.city+", "+obj.state+" "+obj.zip+", "+obj.country;



    mapboxClient.geocoding.forwardGeocode({
        query: adr,
        autocomplete: false,
        limit: 1
    })
    .send()
    .then(function (response) {

        if (response && response.body && response.body.features && response.body.features.length) {
                var feature = response.body.features[0];

                var geojson={
                    type: 'Feature',
                    geometry: {
                        type: 'Point',
                        coordinates: feature.center
                    },
                    properties:{
                        title: obj.address,
                        description: adr+' '+obj.info,
                        'marker-color': '#3bb2d0',
                         'marker-size': 'large',
                         'marker-symbol': 'rocket'
                    }
                };
                //console.log(geojson);
                geojsonPrime.push(geojson);
                myLayer.setGeoJSON(geojsonPrime);

            }
    });

}}
...