找不到'number'类型的不同支持对象'33 .265625'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找不到'number'类型的不同支持对象'33 .265625'相关的知识,希望对你有一定的参考价值。

我有一个使用谷歌地图的离子应用程序。我试图从数据json api获取航班路线的纬度和经度,然后数据json api然后将数据注入Google Maps折线。获取数据json api工作正常没有问题,但当我把对象放在谷歌地图我得到错误Error: Cannot find a differ supporting object '33.265625' of type 'number'. NgFor only supports binding to Iterables such as Arrays. l使用forEach移动数组。

我的代码:

 async getmarker(){
    this.http.get('/v1/flightjson?flightId=201',{},{})
    .then( data=>{

      // this.latitude = JSON.parse(data.data).result.response.data.flight.track.latitude
      // this.longitude = JSON.parse(data.data).result.response.data.flight.track

      for(let datas of JSON.parse(data.data).result.response.data.flight['track']) {
        this.longitude = datas.longitude
        this.latitude  = datas.latitude

        console.log(this.longitude)
        // Do something.
      }



    })

  }

  loadMap() {
    let AIR_PORTS = [
      this.latitude,
      this.longitude
    ];

    this.map = GoogleMaps.create('map_canvas');

    let polyline: Polyline = this.map.addPolylineSync({
      points: AIR_PORTS,
      color: '#AA00FF',
      width: 10,
      geodesic: true,
      clickable: true  // clickable = false in default
    });

    polyline.on(GoogleMapsEvent.POLYLINE_CLICK).subscribe((params: any) => {
      let position: LatLng = <LatLng>params[0];

      let marker: Marker = this.map.addMarkerSync({
        position: position,
        title: position.toUrlValue(),
        disableAutoPan: true
      });
      marker.showInfoWindow();
    });
  }

my data json url

html

  <div id="map_canvas"></div>
答案
for(let datas of JSON.parse(data.data).result.response.data.flight['track']) {
    this.longitude = datas.longitude
    this.latitude  = datas.latitude
}

在上面的for循环中,我假设this.longitudethis.latitude将是数组。您应该在pushthis.longitude内部使用this.latitude元素(如下所示),而不是替换之前的值。

this.longitude.push(datas.longitude);
this.latitude.push(datas.latitude);

您可能正在使用这些变量迭代地图上的不同点,因为它们是普通数字,ngFor将抛出一个错误,说ngFor中的内容应该是iterableArrayiterablenumber不是。

以上是关于找不到'number'类型的不同支持对象'33 .265625'的主要内容,如果未能解决你的问题,请参考以下文章

当在C#中使用System指令时,找不到类型或名称空间名称'Text'

Angular 9 - 找不到一个不同的支持对象'getData()

错误C2678:二进制'+':找不到运算符,它接受类型为'volatile A'的左手操作数(或者没有可接受的转换)

Code-First,当我进行启用迁移时,我得到“在程序集'DOC'中找不到上下文类型”

mybatis plus Unknown column 'fieldame' in 'field list' 出现了列名找不到的问题

获取无法找到'object'类型的不同支持对象'[object Object]'。 NgFor仅支持绑定到诸如Arrays之类的Iterables