【问题标题】:Can't set value inside of the function [duplicate]无法在函数内部设置值[重复]
【发布时间】:2021-01-18 14:23:22
【问题描述】:

我无法在函数内部设置值。当我尝试提醒这个值时,我得到:未定义。怎么把这个值拿到外面去?

var startTrasyLat;
            
L.esri.Geocoding.geocode()
                .text(document.getElementById('start').value)
                .run(function (err, results, response) {
  if (err) {
    console.log(err);
    return;
  }
                  
  startTrasyLat = results['results'][0].latlng.lat;              
});
alert(startTrasyLat);

【问题讨论】:

  • 当我在函数内部提醒“results['results'][0].latlng.lat”时它起作用了。

标签: javascript geocoding esri


【解决方案1】:

看起来您正在尝试调用异步函数。您应该将警报放在所述函数中,如下所示:

var startTrasyLat;

L.esri.Geocoding.geocode().text(document.getElementById('start').value).run(function (err, results, response) {
  if (err) {
    console.log(err);
    return;
  }

  startTrasyLat = results['results'][0].latlng.lat;
  alert(startTrasyLat);
});

【讨论】:

  • 但是有没有办法在外面获取这个值?
  • 执行此操作后,该值仍保存在 startTrasyLat 中。
猜你喜欢
  • 2012-09-17
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
  • 1970-01-01
  • 2019-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多