循环javascript mapbox中的信息未更新

时间:2018-12-18 09:42:23

标签: javascript loops mapbox markers

我想做的是,从数据库中获取数据,并将其发送给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);

            }
    });

}}

0 个答案:

没有答案