首页 > 解决方案 > 如何将坐标映射到对象(角度)

问题描述

我从 API 得到以下返回:

{
"0": {
    "lat": "-30.02897288697400000",
    "lng": "-51.22800440001900000"
},
"1": {
    "lat": "-30.02879088697400000",
    "lng": "-51.22803440001900000"
},
"2": {
    "lat": "-30.02846288697400000",
    "lng": "-51.22814140001900000"
},
"3": {
    "lat": "-30.02822088697400000",
    "lng": "-51.22821640001900000"
},
"4": {
    "lat": "-30.02760388697400000",
    "lng": "-51.22844040001900000"
}
 (...continues)

如何将它映射到一个数组中以在我的 Angular 应用程序中使用它?到目前为止,我已经尝试创建这个对象的数组,但没有运气:

export class MyClass {
  lat: string;
  lng: string;
}

和...

handleSuccessfulResponse(response) {
  this.myClass = response;
}

我究竟做错了什么?

标签: javascriptarraysangulargoogle-maps

解决方案


您可以使用Objects.values()如下方法:

const result = {
  "0": {
    "lat": "-30.02897288697400000",
    "lng": "-51.22800440001900000"
  },
  "1": {
    "lat": "-30.02879088697400000",
    "lng": "-51.22803440001900000"
  },
  "2": {
    "lat": "-30.02846288697400000",
    "lng": "-51.22814140001900000"
  },
  "3": {
    "lat": "-30.02822088697400000",
    "lng": "-51.22821640001900000"
  },
  "4": {
    "lat": "-30.02760388697400000",
    "lng": "-51.22844040001900000"
  }
};

const myArray = Object.values(result);
console.log(myArray);


推荐阅读