【发布时间】:2023-02-04 06:11:47
【问题描述】:
我正在尝试根据用户输入在谷歌地图上绘制多边形,但我在网上看到的所有教程都是在 init 方法中完成的。我尝试在 init 状态之外实现它,但它似乎不起作用。请帮忙!谢谢!
下面是将多边形添加到集合中的方法:
Set<Polygon> _polygons = HashSet<Polygon>();
Future<void> drawPolygonBoundary(String name, List points) async {
List<LatLng> boundaryPoints = [];
for (List point in points) {
boundaryPoints.add(LatLng(point[0], point[1]));
}
Set<Polygon> newPolygons = HashSet<Polygon>();
newPolygons.add(
Polygon(
polygonId: PolygonId(name),
points: boundaryPoints,
fillColor: Colors.green.withOpacity(0.3),
strokeColor: Colors.green,
geodesic: true,
strokeWidth: 4,
onTap: () {},
),
);
//update polygons
setState(() {
_polygons = newPolygons.toSet();
});
print(_polygons);
}
这是我的 GoogleMap 小部件:
GoogleMap(
onMapCreated: _onMapCreated,
polygons: _polygons,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 10.0,
),
myLocationEnabled: true,
myLocationButtonEnabled: false,
),
任何帮助将不胜感激!
【问题讨论】:
-
Nvm,我的错误是我没有按正确的顺序索引
-
你能告诉我怎么做吗? :)
标签: flutter firebase google-maps