我正在構建一項查詢Google地圖位置自動完成API並返回對象數組的服務。服務本身非常簡單。我正在使用Maps JS API。一個字符串被傳遞給服務,並返回匹配列表。如何構建一個返回Observable的服務?
問題是如何將此服務輸出轉換爲Angular Observable?
這就是我現在所在:
import {Injectable, OnInit} from '@angular/core';
import {Observable} from 'rxjs/Rx';
declare var google: any;
@Injectable()
export class GoogleMapsService {
getAutocomplete(input = {'input': '', 'types': [] }) {
var autocomplete = new google.maps.places.AutocompleteService();
return autocomplete.getPlacePredictions({ input: input.input });
}
}
但是,這不是一個觀察的,而我不能.subscribe
它。
什麼*是*它,然後呢?如果是承諾,請使用'Observable.fromPromise'。 – jonrsharpe
您需要在地圖上繪製返回的數據嗎? – Aravind
不,沒有地圖,現在只是一個自動完成的輸入。 –