谷歌放置api回调解决方法

时间:2012-02-27 04:01:06

标签: javascript google-places-api

我正在寻找一种解决方法,让google搜索方法返回回调结果而不是未定义。

$.find_places_nearby = function(latitude, longitude, successCallback) {
  var latlng, service;
  latlng = new google.maps.LatLng(latitude, longitude);
  service = new google.maps.places.PlacesService(document.getElementById('map'));
  return service.search({
    location: latlng,
    radius: '50',
  }, function(results, status) {
    return successCallback(results, status);
  });
};

例如......我想要

$.find_places_nearby(2.4, -100.5, function(results, status) {
  return "callback results";
});

返回callback results而不是undefined

2 个答案:

答案 0 :(得分:0)

那是不可能的。回调函数在稍后的某个未定义的时间显式执行,异步。对$.find_places_nearby()的调用将明确地不返回任何内容,而是传递应该以该调用的结果作为回调执行的代码。从回调中返回一些内容是没有意义的。

答案 1 :(得分:0)

您可以尝试使用promise个对象。 promise模式允许您执行异步操作但仍保持更线性的流程。