Flutter Google Map:如何合并两个不同Marker列表并展示?
解决Flutter Google Map同时展示多个Marker集合的问题
你可以用**展开运算符(...)**把两个独立的Set<Marker>合并成一个临时Set,传给GoogleMap的markers参数——这样既不用修改原有的markerGroupA和markerGroupB,也能同时展示两组标记。
修改后的代码示例:
GoogleMap( mapType: MapType.normal, initialCameraPosition: CameraPosition( target: geocode!, zoom: 14, ), onMapCreated: (GoogleMapController controller) async { googleMapControllerCompleter.complete(controller); }, compassEnabled: true, myLocationEnabled: true, onTap: (v) {}, // 用展开运算符合并两个Marker集合 markers: {...markerGroupA, ...markerGroupB}, ), // 原有的两个Marker集合保持独立 Set<Marker> markerGroupA = Set.of(dumA); Set<Marker> markerGroupB = Set.of(dumB);
补充说明
- 展开运算符
...会提取两个集合里的所有元素,组合成一个全新的Set<Marker>,原有的markerGroupA和markerGroupB不会被修改或合并。 - 这种方式完全符合你不想把两组标记合并到同一个原有集合的需求,同时能在地图上展示所有标记。
内容的提问来源于stack exchange,提问作者chichi
相关产品推荐
相关产品推荐

