[英]How to where do i process my data with observable .map and .subscribe
我正在從我的 API 中檢索一些數據:
[
{
"id": 1,
"lat": 50.607084,
"lng": 3.043099
},
{
"id": 2,
"lat": 50.607084,
"lng": 3.043099
},
]
我只想使用反應式編程處理數據,以便在我的請求中創建谷歌地圖標記。
this.http.get('http://api/getData')
.map(res => {
return res.json()
})
.subscribe(
data => {
console.log(data);
});
這樣做時,我得到了很多對象,我無法找到一種方法來記錄或僅隔離緯度(我得到“未知”)。
我希望能夠在“.map”(可觀察的?)中放置一個函數,該函數將獲取所有變量,並創建我將放入數組中的標記選項。
let markerOptions: GoogleMapsMarkerOptions = {
position: latlng,
title: 'id'
};
從我在谷歌上看到的情況來看,大多數人更喜歡將對象放在一個私有變量中,我假設在另一個函數中處理它。
您需要做的是將從服務器檢索到的數組映射到 GoogleMapsMarkerOptions 列表。 所以,(我不知道 GoogleMapsMarkerOptions 的構造函數)類似於:
this.http.get('http://api/getData')
.map(res => {
return res.json().map(x => {
return new GoogleMapsMarkerOptions({
title: x.it,
position: new GoogleMapsLatLng(x.lat, x.lng)
});
});
})
.subscribe(
data => {
console.log(data);
});
第二張地圖是標准的 javascript 方法(不是 rxjs)。 如果您需要支持舊瀏覽器,您可以使用 lodash 或下划線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.