Baseflow / Baseflow/flutter-geocoding
[Bug]: Incorrect district/neighborhood returned for coordinates in Istanbul, Turkey
- Lenguaje dominante
- Dart
- Estrellas
- 153
- Forks
- 92
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
### Please check the following before submitting a new issue.
- [x] I have searched the [existing issues](https://github.com/baseflow/flutter-geocoding/issues).
- [x] I have carefully [read the documentation](https://github.com/Baseflow/flutter-geocoding/blob/main/geocoding/README.md) and verified I have added the required platform specific configuration.
### Please select affected platform(s)
- [x] Android
- [ ] iOS
### Steps to reproduce
## Description
The geocode package is returning incorrect administrative area information for coordinates in Istanbul, Turkey. The coordinates point to Esenyurt district (Atatürk Mahallesi), but the package returns Büyükçekmece district instead.
### Expected results
- **Coordinates:** 41.030011, 28.6397551
- **Expected Location:** Atatürk Mahallesi, Esenyurt, Istanbul
- **Verification:** Google Maps correctly identifies this location as Esenyurt
### Actual results
- **Returned Location:** Atatürk, Büyükçekmece, Istanbul
- **Issue:** The district (ilçe) is incorrectly identified as Büyükçekmece instead of Esenyurt
### Code sample
Code sample
```dart
Future getDetailedAddress(double lat, double lng) async {
// Test coordinates in Esenyurt, Istanbul
lat = 41.030011;
lng = 28.6397551;
try {
List placemarks = await placemarkFromCoordinates(lat, lng);
if (placemarks.isNotEmpty) {
Placemark place = placemarks.first;
// Debug output
print('subLocality: ${place.subLocality}');
print('thoroughfare: ${place.thoroughfare}');
print('subThoroughfare: ${place.subThoroughfare}');
print('subAdministrativeArea: ${place.subAdministrativeArea}');
print('administrativeArea: ${place.administrativeArea}');
print('locality: ${place.locality}');
print('country: ${place.country}');
List addressParts = [];
if (place.subLocality != null && place.subLocality!.isNotEmpty) {
addressParts.add(place.subLocality!);
}
if (place.thoroughfare != null && place.thoroughfare!.isNotEmpty) {
addressParts.add(place.thoroughfare!);
}
if (place.subThoroughfare != null && place.subThoroughfare!.isNotEmpty) {
addressParts.add('No: ${place.subThoroughfare}');
}
if (place.subAdministrativeArea != null && place.subAdministrativeArea!.isNotEmpty) {
addressParts.add(place.subAdministrativeArea!);
}
if (place.administrativeArea != null && place.administrativeArea!.isNotEmpty) {
addressParts.add(place.administrativeArea!);
}
return addressParts.join(', ');
}
return null;
} catch (e) {
print('Error: $e');
return null;
}
}
```
### Version
geocoding: ^4.0.0
### Flutter Doctor output
Doctor output
```console
[✓] Flutter (Channel stable, 3.38.3, on macOS 26.1 25B78 darwin-arm64, locale tr-TR)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.4)
[✓] Chrome - develop for the web
[✓] Connected device (3 available)
[✓] Network resources
```
Guía de contribución
Línea de trabajo
No se indica ningún archivo de código fuente ni ninguna prueba. Empieza reproduciendo el resultado de Android con geocoding 4.0.0 en 41.030011, 28.6397551; después sigue la ruta de geocodificación de Android e inspecciona cómo se rellenan los campos administrativos. Se considera terminado cuando la ubicación indique Esenyurt en lugar de Büyükçekmece, o cuando la limitación de la plataforma esté claramente documentada.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, dart, flutter
- Área
- mobile
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100