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