我需要使用从另一个函数获得的变量进入另一个变量的作用域。
我需要在地图箱地图上绘制从API检索到的纬度和经度。目前,如果我对坐标进行硬编码,它将可以正常工作。但是当我改用变量时,它不起作用。我之所以认为它是因为我将变量从一个函数传递到另一个函数的方式,但是我似乎找不到正确的方法来使它起作用。
我正在尝试传递w_locname,w_loclong和w_loclat。
// Weather Data //
$.getJSON("https://api.data.gov.sg/v1/environment/rainfall?date=2019-06-21",
function rainfall(data_rainfall){
console.log(data_rainfall);
var j = 11;
var w_timestamp = data_rainfall.items[122].timestamp;
var w_reading = data_rainfall.items[122].readings[j].value;
w_locname = data_rainfall.metadata.stations[j].name;
w_loclat = data_rainfall.metadata.stations[j].location.latitude;
w_loclong = data_rainfall.metadata.stations[j].location.longitude;
return w_locname,w_loclat,w_loclong;
});
//-- Weather Data --//
// Layering on map //
var rain = {
type: 'FeatureCollection',
features: [
{ type: 'Feature', properties: { Name: 'w_locname'}, geometry: { type: 'Point', coordinates: [w_loclong,w_loclat] } }
]
};
map.on('load', function() {
map.addLayer({
id: 'rain',
type: 'symbol',
source: {
type: 'geojson',
data: rain
},
layout: {
'icon-image': 'hospital-15',
'icon-allow-overlap': true
},
paint: { }
});
});
//-- Layering on map --//
如果正确传递了w_loclong和w_loclat,则坐标将在地图上可见。