ChadCSong

优化地图展示

......@@ -81,7 +81,7 @@ class MembershipPageState extends BaseState<MembershipPage> with WidgetsBindingO
children: [
initBackBar(),
const Spacer(),
buildCompleteWidget(),
// buildCompleteWidget(),
],
),
),
......
import 'dart:async';
import 'dart:convert';
import 'package:Parlando/base/base_state.dart';
import 'package:Parlando/extension/widget_ext.dart';
import 'package:Parlando/models/nearby_response.dart' as nearby;
import 'package:Parlando/routers/fluro_navigator.dart';
......@@ -20,7 +21,7 @@ class AddressSelectPage extends StatefulWidget {
AddressSelectPageState createState() => AddressSelectPageState();
}
class AddressSelectPageState extends State<AddressSelectPage> {
class AddressSelectPageState extends BaseState<AddressSelectPage> {
List<nearby.Results> _nearByList = [];
final ScrollController _controller = ScrollController();
LatLng? _center;
......@@ -32,10 +33,10 @@ class AddressSelectPageState extends State<AddressSelectPage> {
String apiKey = "AIzaSyDQZsMULyO-UtiSht4_MFi1uHT4BIqasjw";
nearby.NearbyPlacesResponse nearbyPlacesResponse = nearby.NearbyPlacesResponse();
@override
void initState() {
super.initState();
showLoading();
_getCurrentLocation();
}
......@@ -81,11 +82,12 @@ class AddressSelectPageState extends State<AddressSelectPage> {
isLoading = false;
});
buildMarkers();
hideLoading();
}
void _onMapCreated(GoogleMapController controller) {
mapController = controller;
getNearbyPlaces("");
buildMarkers();
}
void _goToCurrentCenter() {
......@@ -95,7 +97,7 @@ class AddressSelectPageState extends State<AddressSelectPage> {
}
@override
Widget build(BuildContext context) {
Widget buildBody(BuildContext context) {
var loaderView = const GFLoader().expanded(flex: 11);
Widget realList = ListView.separated(
controller: _controller,
......@@ -113,6 +115,7 @@ class AddressSelectPageState extends State<AddressSelectPage> {
},
).expanded(flex: 11);
if (_nearByList.isEmpty) {
print("isLoading $isLoading _nearByList ${_nearByList.length}");
realList = const Center(child: Text("没有找到任何地点")).expanded(flex: 11);
}
var listHolder = isLoading ? loaderView : realList;
......@@ -224,15 +227,24 @@ class _AddressItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
var styleMain = TextStyle(color: Colors.black87);
var styleSub = TextStyle(color: Colors.black45);
return InkWell(
onTap: onTap,
child: Container(
alignment: Alignment.centerLeft,
padding: const EdgeInsets.symmetric(horizontal: 16.0),
height: 50.0,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text('${data.name}').expanded(),
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('${data.name}', style: styleMain),
Text('${data.vicinity}', style: styleSub),
],
).paddingTopBottom(10).expanded(),
Visibility(visible: isSelected, child: const Icon(Icons.done, color: Colors.blue))
],
),
......