在我的应用程序中,我试图添加一个功能,允许用户通过输入地址来改变他们的位置,利用谷歌自动完成,并利用它来移动相机的位置。我是通过使用flutter_google_places来实现这一点的。当我点击我的搜索框时,我得到了谷歌搜索屏幕,但没有返回。以下是我的代码:
Widget _buildSearchField() {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
width: 350,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.white),
child: EnsureVisibleWhenFocused(
focusNode: _descriptionFocusNode,
child: TextField(
controller: _emailController,
keyboardType: TextInputType.emailAddress,
textCapitalization: TextCapitalization.words,
decoration: InputDecoration(
suffixIcon: IconButton(
icon: Icon(FontAwesomeIcons.search),
onPressed: () {},
color: Colors.teal,
),
border: InputBorder.none,
hintText: "Find Where Can You Go?",
contentPadding: EdgeInsets.only(left: 10.0, top: 10.0),
fillColor: Colors.transparent,
filled: true),
maxLines: null,
onTap: () async {
Prediction p = await PlacesAutocomplete.show(
context: context, apiKey: gKey);
displayPrediction(p);
print(p);
},
)),
),
],
);
}
Future<Null> displayPrediction(Prediction p) async {
if (p != null) {
PlacesDetailsResponse detail =
await _places.getDetailsByPlaceId(p.placeId);
double lat = detail.result.geometry.location.lat;
double lng = detail.result.geometry.location.lng;
var address = await Geocoder.local.findAddressesFromQuery(p.description);
print(lat);
print(lng);
print(address);
} else {
print('Not working');
}
return;
}
我不确定在返回搜索输入的结果时遗漏了什么。
1条答案
按热度按时间dm7nw8vv1#
Google Cloud提供$300的免费试用版,适用于您创建的第一个付费帐户。由于您提到您尚未启用付费帐户,您的问题可能属于here:
在免费试用结束时或之前,您必须将第一个云计费帐户升级为付费帐户,以避免对GoogleMap平台的使用造成任何干扰
这就是为什么您可能会观察到它不返回任何东西,因为有一个要求启用您的帐户。