'Mapbox Flutter: Initial Camera Position Shows Incorrect Location
I'm using mapbox_gl, which is a Flutter plugin for access to Mapbox services. Application needs to display the initial camera position fed from user's current location acquired via geolocator plugin. On the Android emulator, setting the current location to coordinates for Ljubljana, Slovenia (around 46N, 13E) displays map of Republic of the Congo, which is obviously incorrect.
The MapboxMap widget is built the following way:
class HomeScreen extends StatelessWidget {
final String mapboxToken = 'XXX-TOKEN-XXX';
@override
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder(
future: _acquireCurrentPosition(),
builder: (BuildContext context, AsyncSnapshot snapshot) =>
snapshot.hasData
? MapboxMap(
accessToken: mapboxToken,
minMaxZoomPreference: MinMaxZoomPreference(6.0, 15.0),
compassEnabled: false,
initialCameraPosition: CameraPosition(
target: snapshot.data,
),
)
: Center(
child: CircularProgressIndicator(),
),
),
);
}
Future<LatLng> _acquireCurrentPosition() async {
Position position = await getCurrentPosition(
desiredAccuracy: LocationAccuracy.high,
);
return LatLng(position.latitude, position.longitude);
}
}
Method _acquireCurrentPosition() correctly acquires latitude/longitude combination, and was tested on Android emulator, iOS Simulator and even physical Android device (Xiaomi Redmi Note 8 Pro). Error with the initial camera position persists even when using a different location.
Any sort of help is greatly appreciated.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|

