Baseflow / Baseflow/flutter-geocoding

[Bug]: Incorrect district/neighborhood returned for coordinates in Istanbul, Turkey

Offen
#286 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Dart
Sterne
153
Forks
92
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### 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
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

No source file or test is named. Start by reproducing the Android result with geocoding 4.0.0 at 41.030011, 28.6397551, then trace the Android geocoding path and inspect how administrative fields are populated. Done means the location reports Esenyurt rather than Büyükçekmece, or the platform limitation is clearly documented.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, dart, flutter
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 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.