Baseflow / Baseflow/flutter-geocoding

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

Đang mở
#286 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Dart
Star
153
Fork
92
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Không có tệp mã nguồn hay bài kiểm thử nào được nêu. Hãy bắt đầu bằng cách tái hiện kết quả Android với geocoding 4.0.0 tại 41.030011, 28.6397551, sau đó lần theo đường dẫn geocoding của Android và kiểm tra cách các trường hành chính được điền. Được xem là hoàn tất khi vị trí báo cáo Esenyurt thay vì Büyükçekmece, hoặc khi hạn chế của nền tảng được ghi lại rõ ràng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
android, dart, flutter
Lĩnh vực
mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.