flutter_map_line_editor icon indicating copy to clipboard operation
flutter_map_line_editor copied to clipboard

Upgrade to flutter_map v7

Open bishen opened this issue 1 year ago • 8 comments

Do you have any plans to support v7

bishen avatar Jun 14 '24 03:06 bishen

Yes, just not in a rush atm as I think v7 needs to settle first. However, if anyone has a compelling reason, I'll try and make it happen sooner.

ibrierley avatar Jun 14 '24 12:06 ibrierley

@ibrierley It seems that v7 does not have a major breaking change. Personally I hope to see the upgrade happen on this library sooner :)

lume-code avatar Jun 26 '24 06:06 lume-code

Heya, no there's not a breaking change, but I think there is an issue on latest release so I wouldn't recommend updating yet, this issue highlights the problem with polygons vanishing.. https://github.com/fleaflet/flutter_map/issues/1921 but if anyone needs a v7 version, I'll do an update.

ibrierley avatar Jun 26 '24 08:06 ibrierley

It seems that the issue mentioned is solved in flutter_map 7.0.2. I would really appreciate an update of this package...

Henk-Keijzer avatar Jul 06 '24 11:07 Henk-Keijzer

Ok, weird, I think something has gone astray with some flutter_map change (maybe), I can't get the polygon example to fill the poly. I can see there has been a change to isFilled, but I don't think that's related, as it doesn't draw borders if I include those in the poly params.

ibrierley avatar Jul 13 '24 09:07 ibrierley

I think the problem is that in flutter_maps polygon.dart is has this line...

LatLngBounds get boundingBox =>
      _boundingBox ??= LatLngBounds.fromPoints(points);

so it's caching the bounding box now. As the poly from an editor starts with nothing, I don't think that will get updated, so I'm assuming it just gets culled for optimisation every time...

I think it can be worked around by creating a new Poly every time, so it's never cached...so the code would look something like the following code. I'm not sure if I like this or not, as on the one hand, it cuts out the normal flutter flow (I'm a bit out of touch), on the other, it's an editor so performance not such an issue here, and also maybe it's more correct...not quite sure.

Any thoughts, let me know.

final polyPoints = <LatLng>[];
  
  @override
  void initState() {
    super.initState();

    polyEditor = PolyEditor(
      addClosePathMarker: true,
      points: polyPoints,
      pointIcon: const Icon(Icons.crop_square, size: 23),
      intermediateIcon: const Icon(Icons.lens, size: 15, color: Colors.grey),
      callbackRefresh: (LatLng? _) => {setState(() {})},
    );
  }

  @override
  Widget build(BuildContext context) {

    final polygons = <Polygon>[];
    final testPolygon = Polygon(
      label: 'Label!',
      color: Colors.deepOrange,
      borderColor: Colors.red,
      borderStrokeWidth: 4,
      points: polyPoints,
    );
    polygons.add(testPolygon);

    return Scaffold(

ibrierley avatar Jul 13 '24 10:07 ibrierley

I have raised an issue at https://github.com/fleaflet/flutter_map/issues/1932 just to get some thoughts

ibrierley avatar Jul 13 '24 10:07 ibrierley

Adding my interest to v7 support... I'm eager for v7.

eidolonFIRE avatar Aug 06 '24 16:08 eidolonFIRE

I also would love to see a v7. :-)

moovida avatar Sep 27 '24 13:09 moovida

@ibrierley , how did you even get to that part? I am trying to give it a look but it fails before, when trying to create an initial LatLngBounds with no points, which is not accepted:

  factory LatLngBounds.fromPoints(List<LatLng> points) {
    assert(
      points.isNotEmpty,
      'LatLngBounds cannot be created with an empty List of LatLng',
    );

Is there something I am missing?

moovida avatar Sep 27 '24 13:09 moovida

@ibrierley , how did you even get to that part? I am trying to give it a look but it fails before, when trying to create an initial LatLngBounds with no points, which is not accepted:

  factory LatLngBounds.fromPoints(List<LatLng> points) {
    assert(
      points.isNotEmpty,
      'LatLngBounds cannot be created with an empty List of LatLng',
    );

Is there something I am missing?

sorry, completely missed this comment...I'm just retesting the update above after the discussion in FM, will probably use the workaround...

ibrierley avatar Oct 01 '24 16:10 ibrierley

Feel free to test the v7 branch at https://github.com/ibrierley/flutter_map_line_editor/tree/v7 and give any feedback.

If all works fine, will shove it to pub.

ibrierley avatar Oct 01 '24 16:10 ibrierley

I did some tests and it looks like it is working without any issue. Thanks a lot @ibrierley

moovida avatar Oct 03 '24 16:10 moovida

in v7 branch the flutter_map_dragmarker is constrained to v6 while the version that supports flutter_map 7 is v7

lume-code avatar Oct 11 '24 06:10 lume-code

Can you clarify where you are seeing that, as I can't find v6 referenced in the pubspecs, but may have missed something.

ibrierley avatar Oct 11 '24 07:10 ibrierley

@ibrierley Never mind, seems like a cached pub situation. pubspec.yaml looks ok. Thanks.

lume-code avatar Oct 11 '24 07:10 lume-code

Ok Super. Should be published on pub.dev now as well. Thanks for the help testing everyone.

ibrierley avatar Oct 11 '24 07:10 ibrierley