0
我正在嘗試Google地圖API功能,但似乎沒有成功。調用我的函數時,我得到Cannot read property 'then' of undefined
。如何通過goole.maps.places API getPlacePredictions promisify回調?
我試圖按照該線程中的例子,但沒有運氣:Turn callback into promise
回調函數應該是這樣的:
predictionService = new google.maps.places.AutocompleteService();
predictionService.getPlacePredictions(
{ input: '1 main street, south bend' },
displayPredictionSuggestionsCallback
);
function displayPredictionSuggestionsCallback(input){
// output results
}
我promisifaction看起來是這樣的:
predictionService = new google.maps.places.AutocompleteService();
function getPredictionSuggestion (input){
var dfd = $.Deferred();
predictionService.getPlacePredictions({
input: input
}, function (place, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
return dfd.reject("Request failed: " + status);
}
dfd.resolve(place).promise();
});
}
這是調用服務的功能:
getPredictionSuggestion('1 main street, south bend').then(function(results) {
console.log('promise results = ' + results);
}, function(err) {
alert(err);
});