我有以下代码,但是我想使用PlaceService(map).search(request)
Angular '$scope' 返回的数据。多变的。
目前我有回调函数为结果数据分配一个新数组,但是由于 Google Places 是异步的,Angular $scope 变量无法访问它。
我可以看到两种方法,但我不太确定如何执行它们。据我所知,我可以:
1) 在 findPlaces() 函数中访问搜索结果,无需回调
或者
2) 将 $scope 变量传递给回调函数 'storeResults'
function findPlaces(addrLocation, $scope) {
// Geocoder already started
// prepare variables (filter)
var type = myType;
var radius = document.getElementById('radius').value;
// prepare request to Places
var request = {
location: addrLocation,
radius: radius,
types: [type]
};
// send request
service = new google.maps.places.PlacesService(map);
service.search(request, storeResults);
}
function storeResults(results, status) {
//Ensure something is found
if (status == google.maps.places.PlacesServiceStatus.OK) {
//First we clear the list of previously found places
clearResults();
for (var i = 0; i <= results.length-1; i++) {
setCREsults(results[i]);
//alert(searchResults[i].name + ' ' + searchResults[i].address);
}
}
else if (status == google.maps.places.PlacesServiceStatus.ZERO_RESULTS) {
alert('Sorry, nothing is found');
}
}
请让我知道如何在我的 Angular 应用程序中使用搜索结果。