【问题标题】:How to draw polygon in Google map Flutter dynamically如何在谷歌地图 Flutter 中动态绘制多边形
【发布时间】:2021-06-29 15:07:24
【问题描述】:

我需要在 Google 地图上动态创建多边形。我可以绘制具有已知点的多边形,但我无法动态绘制多边形请帮助...

【问题讨论】:

  • 动态,你的意思是你要绘制未知点的多边形吗?
  • 我必须在地图上绘制多边形,类似于在 google mymaps 中绘制多边形。
  • 您是否尝试在 Flutter 中实现类似于 developers.google.com/maps/documentation/javascript/examples/… 的功能?
  • @jabamataro 是的,flutter 中的功能相同
  • 您是否尝试在 Android 和 iOS 上构建它?

标签: flutter dart google-maps-api-3


【解决方案1】:

我还需要逐点绘制多边形。 为此,在 onTap 处理程序中

GoogleMap(
    polygons: Set<Polygon>.of(mapsPolygons.values),
    onTap: tapMap,
    ...
)

我添加一个标记并将每次点击都写到List&lt;LatLng&gt;。 然后我用渲染的多边形更新地图

Map<PolygonId, Polygon> mapsPolygons = <PolygonId, Polygon>{};
List<LatLng> mapsPolygons = [];

void tapMap(LatLng pos) {
  final PolygonId polygonId = PolygonId("Polgon_1");
  final Polygon polygon = Polygon(
    polygonId: polygonId,
    strokeColor: Colors.red,
    strokeWidth: 5,
    fillColor: Colors.red.withOpacity(0.3),
    points: polygonPoints,
  );
  mapsPolygons[polygonId] = polygon;
  
  //setState((){});
}

我使用StreamBuilder() 更新地图,但它也应该与setState() 一起使用

example

附注对不起我的英语

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 2013-03-26
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多