2

PlaceService(map).search(request)次のコードがありますが、Angular '$scope' で返されたデータを使用したいと考えています。変数。

現在、結果データを含む新しい配列を割り当てるコールバック関数がありますが、Google プレイスは非同期であるため、Angular の $scope 変数からはアクセスできません。

私が見ることができる2つの方法がありますが、それらを実行する方法がよくわかりません。私が見ることができるものから、私は次のいずれかを行うことができます:

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 アプリで検索結果を使用する方法を教えてください。

4

0 に答える 0