INFRA: Set Up Project.
This commit is contained in:
36
lib/controllers/osm_search_place_controller.dart
Normal file
36
lib/controllers/osm_search_place_controller.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'dart:developer';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_osm_plugin/flutter_osm_plugin.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class OsmSearchPlaceController extends GetxController {
|
||||
Rx<TextEditingController> searchTxtController = TextEditingController().obs;
|
||||
RxList<SearchInfo> suggestionsList = <SearchInfo>[].obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
searchTxtController.value.addListener(() {
|
||||
_onChanged();
|
||||
});
|
||||
}
|
||||
|
||||
void _onChanged() {
|
||||
fetchAddress(searchTxtController.value.text);
|
||||
}
|
||||
|
||||
Future<void> fetchAddress(text) async {
|
||||
log(":: fetchAddress :: $text");
|
||||
try {
|
||||
String locale = 'en';
|
||||
SharedPreferences sp = await SharedPreferences.getInstance();
|
||||
if (sp.getString("languageCode") != null || sp.getString("languageCode")?.isNotEmpty == true) {
|
||||
locale = sp.getString("languageCode") ?? "en";
|
||||
}
|
||||
suggestionsList.value = await addressSuggestion(text, locale: locale);
|
||||
} catch (e) {
|
||||
log(e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user