簡體   English   中英

如何使用 observable .map 和 .subscribe 處理我的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM