Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向回调添加参数_Javascript_Google Maps_Google Maps Api 3_Callback - Fatal编程技术网

Javascript 向回调添加参数

Javascript 向回调添加参数,javascript,google-maps,google-maps-api-3,callback,Javascript,Google Maps,Google Maps Api 3,Callback,我目前正在使用谷歌地图API,但我遇到了一个无法解决的问题。 我使用Javascript的经验非常有限,所以答案可能相当简单 我的代码目前与此非常接近 我遇到问题的代码部分是: function performSearch() { var request = { bounds: map.getBounds(), keyword: 'best view' }; service.radarSearch(request, callback); } function cal

我目前正在使用谷歌地图API,但我遇到了一个无法解决的问题。 我使用Javascript的经验非常有限,所以答案可能相当简单

我的代码目前与此非常接近

我遇到问题的代码部分是:

function performSearch() {
  var request = {
    bounds: map.getBounds(),
    keyword: 'best view'
  };
  service.radarSearch(request, callback);
}

function callback(results, status) {
  if (status != google.maps.places.PlacesServiceStatus.OK) {
    alert(status);
    return;
  }
  for (var i = 0, result; result = results[i]; i++) {
    createMarker(result);
  }
}
我稍微修改了代码,以便performSearch有一个输入参数。 我想让回调函数也知道这个参数

所以我想实现的是这样的目标:

function performSearch(aParameter) {
  var request = {
    bounds: map.getBounds(),
    keyword: 'best view'
  };
  service.radarSearch(request, callback(aParameter));
}

function callback(results, status, aParameter) {
  console.log("callback knows about : " + aParameter);
  if (status != google.maps.places.PlacesServiceStatus.OK) {
    alert(status);
    return;
  }
  for (var i = 0, result; result = results[i]; i++) {
    createMarker(result);
  }
}
function performSearch(aParameter) {
  var request = {
    bounds: map.getBounds(),
    keyword: 'best view'
  };
  service.radarSearch(request, function(results, status){
     resultCallback(results, status, aParameter);
  });
}
我尝试了许多方法将参数插入回调,但到目前为止,我所有的尝试都失败了

那么,在不使用全局变量的情况下,为回调提供额外参数的方法是什么呢

更多信息:


谢谢你的帮助

好的,问题确实是我的Javascript经验不足:)

我找到了解决问题的方法

我们的想法是这样做:

function performSearch(aParameter) {
  var request = {
    bounds: map.getBounds(),
    keyword: 'best view'
  };
  service.radarSearch(request, callback(aParameter));
}

function callback(results, status, aParameter) {
  console.log("callback knows about : " + aParameter);
  if (status != google.maps.places.PlacesServiceStatus.OK) {
    alert(status);
    return;
  }
  for (var i = 0, result; result = results[i]; i++) {
    createMarker(result);
  }
}
function performSearch(aParameter) {
  var request = {
    bounds: map.getBounds(),
    keyword: 'best view'
  };
  service.radarSearch(request, function(results, status){
     resultCallback(results, status, aParameter);
  });
}