update for flutter_map
This commit is contained in:
@ -1,9 +1,9 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:rogapp/pages/search/search_controller.dart';
|
||||
// import 'package:get/get.dart';
|
||||
// import 'package:rogapp/pages/search/search_controller.dart';
|
||||
|
||||
class SearchBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.put<SearchController>(SearchController());
|
||||
}
|
||||
}
|
||||
// class SearchBinding extends Bindings {
|
||||
// @override
|
||||
// void dependencies() {
|
||||
// Get.put<SearchController>(SearchController());
|
||||
// }
|
||||
// }
|
||||
|
||||
@ -1,26 +1,26 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:geojson/geojson.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get/get_state_manager/get_state_manager.dart';
|
||||
import 'package:rogapp/model/destination.dart';
|
||||
import 'package:rogapp/pages/index/index_controller.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:geojson/geojson.dart';
|
||||
// import 'package:get/get.dart';
|
||||
// import 'package:get/get_state_manager/get_state_manager.dart';
|
||||
// import 'package:rogapp/model/destination.dart';
|
||||
// import 'package:rogapp/pages/index/index_controller.dart';
|
||||
|
||||
class SearchController extends GetxController {
|
||||
// class SearchController extends GetxController {
|
||||
|
||||
List<GeoJsonFeature> searchResults = <GeoJsonFeature>[].obs;
|
||||
// List<GeoJsonFeature> searchResults = <GeoJsonFeature>[].obs;
|
||||
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
IndexController indexController = Get.find<IndexController>();
|
||||
if(indexController.locations.isNotEmpty){
|
||||
for(int i=0; i<= indexController.locations[0].collection.length - 1; i++){
|
||||
GeoJsonFeature p = indexController.locations[0].collection[i];
|
||||
searchResults.add(p);
|
||||
}
|
||||
}
|
||||
super.onInit();
|
||||
}
|
||||
// @override
|
||||
// void onInit() {
|
||||
// IndexController indexController = Get.find<IndexController>();
|
||||
// if(indexController.locations.isNotEmpty){
|
||||
// for(int i=0; i<= indexController.locations[0].collection.length - 1; i++){
|
||||
// GeoJsonFeature p = indexController.locations[0].collection[i];
|
||||
// searchResults.add(p);
|
||||
// }
|
||||
// }
|
||||
// super.onInit();
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
// }
|
||||
@ -1,96 +1,96 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:rogapp/pages/index/index_controller.dart';
|
||||
import 'package:rogapp/pages/search/search_controller.dart';
|
||||
import 'package:rogapp/widgets/bottom_sheet_new.dart';
|
||||
// import 'package:flutter/cupertino.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
// import 'package:get/get.dart';
|
||||
// import 'package:rogapp/pages/index/index_controller.dart';
|
||||
// import 'package:rogapp/pages/search/search_controller.dart';
|
||||
// import 'package:rogapp/widgets/bottom_sheet_new.dart';
|
||||
|
||||
class SearchPage extends StatelessWidget {
|
||||
SearchPage({Key? key}) : super(key: key);
|
||||
// class SearchPage extends StatelessWidget {
|
||||
// SearchPage({Key? key}) : super(key: key);
|
||||
|
||||
SearchController searchController = Get.find<SearchController>();
|
||||
IndexController indexController = Get.find<IndexController>();
|
||||
// SearchController searchController = Get.find<SearchController>();
|
||||
// IndexController indexController = Get.find<IndexController>();
|
||||
|
||||
Image getImage(int index){
|
||||
if(searchController.searchResults[index].properties!["photos"] == null || searchController.searchResults[index].properties!["photos"] == ""){
|
||||
return Image(image: AssetImage('assets/images/empty_image.png'));
|
||||
}
|
||||
else{
|
||||
return Image(
|
||||
image: NetworkImage(searchController.searchResults[index].properties!["photos"]),
|
||||
errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) {
|
||||
return Image.asset("assets/images/empty_image.png");
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
// Image getImage(int index){
|
||||
// if(searchController.searchResults[index].properties!["photos"] == null || searchController.searchResults[index].properties!["photos"] == ""){
|
||||
// return Image(image: AssetImage('assets/images/empty_image.png'));
|
||||
// }
|
||||
// else{
|
||||
// return Image(
|
||||
// image: NetworkImage(searchController.searchResults[index].properties!["photos"]),
|
||||
// errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) {
|
||||
// return Image.asset("assets/images/empty_image.png");
|
||||
// },
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
elevation: 0,
|
||||
backgroundColor: Colors.white,
|
||||
leading: IconButton(
|
||||
onPressed:(){
|
||||
Navigator.pop(context);
|
||||
},
|
||||
icon: const Icon(Icons.arrow_back_ios_new, color: Colors.black,)),
|
||||
title: TypeAheadField(
|
||||
textFieldConfiguration: TextFieldConfiguration(
|
||||
autofocus: true,
|
||||
),
|
||||
suggestionsCallback: (pattern) async{
|
||||
return searchController.searchResults.where((GeoJsonFeature element) => element.properties!["location_name"].toString().contains(pattern));
|
||||
//return await
|
||||
},
|
||||
itemBuilder: (context, GeoJsonFeature suggestion){
|
||||
return ListTile(
|
||||
title: Text(suggestion.properties!["location_name"]),
|
||||
subtitle: suggestion.properties!["category"] != null ? Text(suggestion.properties!["category"]) : Text(""),
|
||||
//leading: getImage(index),
|
||||
);
|
||||
},
|
||||
onSuggestionSelected: (GeoJsonFeature suggestion){
|
||||
indexController.currentFeature.clear();
|
||||
indexController.currentFeature.add(suggestion);
|
||||
Get.back();
|
||||
showModalBottomSheet(
|
||||
isScrollControlled: true,
|
||||
context: context,
|
||||
//builder: (context) => BottomSheetWidget(),
|
||||
builder:((context) => BottomSheetNew())
|
||||
);
|
||||
},
|
||||
),
|
||||
//title: const CupertinoSearchTextField(),
|
||||
// @override
|
||||
// Widget build(BuildContext context) {
|
||||
// return Scaffold(
|
||||
// appBar: AppBar(
|
||||
// elevation: 0,
|
||||
// backgroundColor: Colors.white,
|
||||
// leading: IconButton(
|
||||
// onPressed:(){
|
||||
// Navigator.pop(context);
|
||||
// },
|
||||
// icon: const Icon(Icons.arrow_back_ios_new, color: Colors.black,)),
|
||||
// title: TypeAheadField(
|
||||
// textFieldConfiguration: TextFieldConfiguration(
|
||||
// autofocus: true,
|
||||
// ),
|
||||
// suggestionsCallback: (pattern) async{
|
||||
// return searchController.searchResults.where((GeoJsonFeature element) => element.properties!["location_name"].toString().contains(pattern));
|
||||
// //return await
|
||||
// },
|
||||
// itemBuilder: (context, GeoJsonFeature suggestion){
|
||||
// return ListTile(
|
||||
// title: Text(suggestion.properties!["location_name"]),
|
||||
// subtitle: suggestion.properties!["category"] != null ? Text(suggestion.properties!["category"]) : Text(""),
|
||||
// //leading: getImage(index),
|
||||
// );
|
||||
// },
|
||||
// onSuggestionSelected: (GeoJsonFeature suggestion){
|
||||
// indexController.currentFeature.clear();
|
||||
// indexController.currentFeature.add(suggestion);
|
||||
// Get.back();
|
||||
// showModalBottomSheet(
|
||||
// isScrollControlled: true,
|
||||
// context: context,
|
||||
// //builder: (context) => BottomSheetWidget(),
|
||||
// builder:((context) => BottomSheetNew())
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// //title: const CupertinoSearchTextField(),
|
||||
|
||||
),
|
||||
//body:
|
||||
// Obx(() =>
|
||||
// ListView.builder(
|
||||
// itemCount: searchController.searchResults.length,
|
||||
// itemBuilder: (context, index){
|
||||
// return ListTile(
|
||||
// title: searchController.searchResults[index].properties!["location_name"] != null ? Text(searchController.searchResults[index].properties!["location_name"]) : Text(""),
|
||||
// subtitle: searchController.searchResults[index].properties!["category"] != null ? Text(searchController.searchResults[index].properties!["category"]) : Text(""),
|
||||
// leading: getImage(index),
|
||||
// onTap: (){
|
||||
// indexController.currentFeature.clear();
|
||||
// indexController.currentFeature.add(searchController.searchResults[index]);
|
||||
// Get.back();
|
||||
// showModalBottomSheet(
|
||||
// isScrollControlled: true,
|
||||
// context: context,
|
||||
// //builder: (context) => BottomSheetWidget(),
|
||||
// builder:((context) => BottomSheetNew())
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// )
|
||||
);
|
||||
}
|
||||
}
|
||||
// ),
|
||||
// //body:
|
||||
// // Obx(() =>
|
||||
// // ListView.builder(
|
||||
// // itemCount: searchController.searchResults.length,
|
||||
// // itemBuilder: (context, index){
|
||||
// // return ListTile(
|
||||
// // title: searchController.searchResults[index].properties!["location_name"] != null ? Text(searchController.searchResults[index].properties!["location_name"]) : Text(""),
|
||||
// // subtitle: searchController.searchResults[index].properties!["category"] != null ? Text(searchController.searchResults[index].properties!["category"]) : Text(""),
|
||||
// // leading: getImage(index),
|
||||
// // onTap: (){
|
||||
// // indexController.currentFeature.clear();
|
||||
// // indexController.currentFeature.add(searchController.searchResults[index]);
|
||||
// // Get.back();
|
||||
// // showModalBottomSheet(
|
||||
// // isScrollControlled: true,
|
||||
// // context: context,
|
||||
// // //builder: (context) => BottomSheetWidget(),
|
||||
// // builder:((context) => BottomSheetNew())
|
||||
// // );
|
||||
// // },
|
||||
// // );
|
||||
// // },
|
||||
// // ),
|
||||
// // )
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user