[Bug]: `Geocoding(locale: ...)` has no effect – locale is not forwarded to `_fromPlatformCreationParams`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 92/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- backend-api-design, mobile
Línea de trabajo
Empieza por el constructor público Geocoding y su factory _fromPlatformCreationParams, que el issue identifica como el punto donde se descarta locale. Comprueba cómo la factory pasa locale a la implementación de la plataforma; después, reenvía el argumento del constructor y verifica que le llegue una locale explícita. Se considera terminado cuando se use la locale alemana indicada en lugar de la locale del dispositivo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Please check the following before submitting a new issue.
- I have searched the existing issues.
- I have carefully read the documentation and verified I have added the required platform specific configuration.
Please select affected platform(s)
- Android
- iOS
Steps to reproduce
- Set the device language to something other than German (e.g. English).
- Create a
Geocodinginstance with an explicit locale:Geocoding(locale: const Locale('de', 'DE')). - Call
placemarkFromCoordinatesfor a location in Germany (e.g.52.5163, 13.3777, Brandenburger Tor, Berlin). - Inspect the returned
Placemark, e.g.placemark.country.
Expected results
The placemarks are returned in the locale passed to the constructor (de_DE), e.g. country == 'Deutschland'.
Actual results
The locale passed to the constructor is ignored. The placemarks come back in the device locale, e.g. country == 'Germany'.
The cause is in the public Geocoding constructor: it accepts locale, but does not forward it to the private factory Geocoding._fromPlatformCreationParams, so the value never reaches the platform implementation.
Proposed fix – forward the parameter:
Geocoding({Locale? locale})
: this._fromPlatformCreationParams(
pi.GeocodingCreationParams(),
locale: locale,
);
Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:geocoding/geocoding.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: ElevatedButton(
onPressed: _reverseGeocode,
child: Text('Reverse geocode'),
),
),
),
);
}
}
Future<void> _reverseGeocode() async {
final geocoding = Geocoding(locale: const Locale('de', 'DE'));
final placemarks = await geocoding.placemarkFromCoordinates(52.5163, 13.3777);
// Device language set to English:
// Expected: "Deutschland"
// Actual: "Germany"
debugPrint(placemarks.first.country);
}
Screenshots or video
Version
5.0.0
Flutter Doctor output
Doctor output
(Irrelevant)
- Lenguaje dominante
- Dart
- Estrellas
- 153
- Forks
- 92
- Merge medio
- 7 d 21 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Baseflow/flutter-geocoding
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
Baseflow/flutter-geocoding#311 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Baseflow/flutter-geocoding#309 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 49/100
Baseflow/flutter-geocoding#327 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
Baseflow/flutter-geocoding#287 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Baseflow/flutter-geocoding#286 · 2 comentarios ·
Todos los issues de Baseflow/flutter-geocoding
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
bannzai/medicalarm#478 ·
Los mantenedores suelen responder en 1 día
-
genkit_anthropic: responses with an empty or unknown usage.service_tier fail with FormatException: Unknown ServiceTierPosiblemente ocupada @kenzieschmoll la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
genkit-ai/genkit-dart#686 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aaronified/fluenough#918 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
VeryGoodOpenSource/very_good_analysis#255 ·
Los mantenedores suelen responder en 1 día