首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FLUTTER,DART:如何将list<Model>转换为地图

在Flutter中,可以使用Dart语言将一个包含模型对象的列表(list<Model>)转换为地图。下面是一个示例代码,展示了如何实现这个转换过程:

代码语言:txt
复制
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

class Model {
  double latitude;
  double longitude;

  Model({this.latitude, this.longitude});
}

class MapScreen extends StatelessWidget {
  List<Model> modelList = [
    Model(latitude: 37.421998, longitude: -122.084),
    Model(latitude: 37.7749, longitude: -122.4194),
    Model(latitude: 34.0522, longitude: -118.2437),
  ];

  @override
  Widget build(BuildContext context) {
    List<Marker> markers = modelList.map((model) {
      return Marker(
        markerId: MarkerId('${model.latitude}-${model.longitude}'),
        position: LatLng(model.latitude, model.longitude),
      );
    }).toList();

    return Scaffold(
      appBar: AppBar(
        title: Text('Map'),
      ),
      body: GoogleMap(
        initialCameraPosition: CameraPosition(
          target: LatLng(37.421998, -122.084),
          zoom: 10,
        ),
        markers: Set<Marker>.from(markers),
      ),
    );
  }
}

在上面的示例中,我们首先定义了一个Model类,该类包含了latitudelongitude属性,表示地理坐标的纬度和经度。然后,在MapScreen小部件中,我们创建了一个包含Model对象的列表modelList

build方法中,我们使用map函数将modelList中的每个Model对象转换为Marker对象,并将它们存储在markers列表中。每个Marker对象都有一个唯一的markerId,以及对应的地理坐标。

最后,我们在GoogleMap小部件中使用markers列表来显示地图,并设置了初始的相机位置。

这样,当我们在Flutter应用程序中使用MapScreen小部件时,它将显示一个包含了modelList中每个模型对象位置的地图。

推荐的腾讯云相关产品:腾讯位置服务(https://cloud.tencent.com/product/tianditu)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券