mapbox / mapbox/mapbox-maps-flutter

`cameraForCoordinatesPadding` does not zoom map to exactly wrap coordinates provided

Offen
#618 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Dart
Sterne
380
Forks
204
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Reproduction Code

```dart
import 'package:flutter/material.dart';
import 'package:mapbox_maps_flutter/mapbox_maps_flutter.dart';

class Test extends StatefulWidget {
const Test({Key? key}) : super(key: key);

@override
_TestState createState() => _TestState();
}

class _TestState extends State {
_onMapCreated(MapboxMap mapboxMap) async {
final latlngList = [
[31.23208, 121.38376],
[31.23207, 121.38375],
[31.23205, 121.38375],
[31.23204, 121.38374],
[31.23203, 121.38373],
[31.23202, 121.38372],
[31.232, 121.38372],
[31.23199, 121.38371],
[31.23198, 121.3837],
[31.23197, 121.3837]
];
final coordinates = latlngList
.map((e) =>
Point(coordinates: Position(e[1].toDouble(), e[0].toDouble())))
.toList();

final options = await mapboxMap.cameraForCoordinatesPadding(
coordinates,
CameraOptions(),
MbxEdgeInsets(top: 0, right: 0, bottom: 0, left: 0),
1000,
null,
);
await mapboxMap.setCamera(options);
final polylineAnnotationManager =
await mapboxMap.annotations.createPolylineAnnotationManager();
final positions = latlngList
.map((e) => Position(e[1].toDouble(), e[0].toDouble()))
.toList();
polylineAnnotationManager.create(PolylineAnnotationOptions(
geometry: LineString(coordinates: positions)));
}

@override
Widget build(BuildContext context) {
return Container(
child: MapWidget(
key: const ValueKey("mapbox"),
onMapCreated: _onMapCreated,
styleUri: MapboxStyles.LIGHT,
),
);
}
}

```

## Environment

```
mapbox_maps_flutter: ^2.1.0
```

flutter doctor output:

```
Flutter (Channel stable, 3.22.2, on macOS 14.0 23A344 darwin-arm64, locale zh-Hans-CN)
```

## What is actually happening?

image

## What is expected?

I thought the map would zoom to the rectangle like below:

截屏2024-07-14 14 38 00

Is this expected? Or is there any way to achieve what I want?

Thank you

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der bereitgestellten Dart-Reproduktion und konzentriere dich auf den Aufruf von mapboxMap.cameraForCoordinatesPadding und den anschließenden Aufruf von setCamera. Bestätige, ob die zurückgegebene Kamera diese eng beieinander liegenden Koordinaten mit einem Padding von null erwartungsgemäß einpassen soll; abgeschlossen bedeutet eine dokumentierte Antwort oder eine reproduzierbare Korrektur bzw. einen reproduzierbaren Workaround.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
dart, flutter
Bereich
mobile-dev
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.