我无法使用google search place API实现搜索place import'包装:flift/cupertino.dart'; 进口“包装:颤振/材料.省道”; 导入“包:flatter\u google\u places/src/flatter\u google\u places.dart” 谷歌的地方; 导入“package:flatter_google_places/flatter_google_places.dart”; 导入“包:geocoder/geocoder.dart”; 导入“包:google_maps_webservice/places.dart”; 类主页扩展了StatefulWidget{ 主页({Key}):超级(Key:Key); @凌驾 _HomePageState createState()=>\u HomePageState(); } 类_HomePageState扩展状态{ TextEditingController地址控制器=TextEditingController(); 谷歌地图= 谷歌地图; 双lat; 双液化天然气; @凌驾 小部件构建(构建上下文){ 返回脚手架( 主体:容器( 子项:TextFormField( 验证器:(值){ if(value.isEmpty){ 返回“请输入有效地址”; } 返回null; }, 控制器:地址控制器, 装饰:输入装饰( enabledBorder:新大纲输入边框( borderSide:const borderSide(颜色:Colors.grey,宽度:1), ), 聚焦顺序:新大纲输入边框( borderSide:const borderSide(颜色:Colors.grey,宽度:1), ), 边框:大纲输入边框( borderSide:const borderSide(颜色:Colors.grey,宽度:1), ), hintText:“地址”, labelText:“地址”, ), onTap:()异步{ var预测=等待地点SautoComplete.show( 上下文:上下文, apiKey:“apiKey”, logo:Container(), 语言:"en",, 模式:googlePlaces.mode.overlay, ); addressController.text=prediction.description; 显示预测(预测); }, ), ), ); } 未来显示预测(p)异步{ 如果(p!=null){ 位置细节响应细节= 等待地点。getDetailsByPlaceId(p.placeId); 双板条=detail.result.geometry.location.lat; 双lngg=详图.result.geometry.location.lng; 设置状态(){ lat=double.parse(latt.toStringAsFixed(4)); lng=double.parse(lngg.toStringAsFixed(3)); }); } } }`
我无法使用google search place API实现搜索place。我在上面提到我的代码,请检查一下。我还添加了我在上述代码中遇到的相应错误的屏幕截图。请帮我解决这个问题。[请查看我面临的问题的图片] [错误:flatter/lib/ui/ui\u dart\u state.cc(186)]未处理的异常:NoSuchMethodError:对null调用了getter“isNotEmpty”。E/flatter(31426):接收器:空E/flatter(31426):尝试呼叫:isNotEmpty我无法使用google search place API实现搜索place import'包装:flift/cupertino.dart'; 进口“包装:颤振/材料.省道”; 导入“包:flatter\u google\u places/src/flatter\u google\u places.dart” 谷歌的地方; 导入“package:flatter_google_places/flatter_google_places.dart”; 导入“包:geocoder/geocoder.dart”; 导入“包:google_maps_webservice/places.dart”; 类主页扩展了StatefulWidget{ 主页({Key}):超级(Key:Key); @凌驾 _HomePageState createState()=>\u HomePageState(); } 类_HomePageState扩展状态{ TextEditingController地址控制器=TextEditingController(); 谷歌地图= 谷歌地图; 双lat; 双液化天然气; @凌驾 小部件构建(构建上下文){ 返回脚手架( 主体:容器( 子项:TextFormField( 验证器:(值){ if(value.isEmpty){ 返回“请输入有效地址”; } 返回null; }, 控制器:地址控制器, 装饰:输入装饰( enabledBorder:新大纲输入边框( borderSide:const borderSide(颜色:Colors.grey,宽度:1), ), 聚焦顺序:新大纲输入边框( borderSide:const borderSide(颜色:Colors.grey,宽度:1), ), 边框:大纲输入边框( borderSide:const borderSide(颜色:Colors.grey,宽度:1), ), hintText:“地址”, labelText:“地址”, ), onTap:()异步{ var预测=等待地点SautoComplete.show( 上下文:上下文, apiKey:“apiKey”, logo:Container(), 语言:"en",, 模式:googlePlaces.mode.overlay, ); addressController.text=prediction.description; 显示预测(预测); }, ), ), ); } 未来显示预测(p)异步{ 如果(p!=null){ 位置细节响应细节= 等待地点。getDetailsByPlaceId(p.placeId); 双板条=detail.result.geometry.location.lat; 双lngg=详图.result.geometry.location.lng; 设置状态(){ lat=double.parse(latt.toStringAsFixed(4)); lng=double.parse(lngg.toStringAsFixed(3)); }); } } }`,api,flutter,location,google-places-api,google-location-services,Api,Flutter,Location,Google Places Api,Google Location Services,我无法使用google search place API实现搜索place。我在上面提到我的代码,请检查一下。我还添加了我在上述代码中遇到的相应错误的屏幕截图。请帮我解决这个问题。[请查看我面临的问题的图片] [错误:flatter/lib/ui/ui\u dart\u state.cc(186)]未处理的异常:NoSuchMethodError:对null调用了getter“isNotEmpty”。E/flatter(31426):接收器:空E/flatter(31426):尝试呼叫:isNo
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_google_places/src/flutter_google_places.dart'
as googlePlaces;
import 'package:flutter_google_places/flutter_google_places.dart';
import 'package:geocoder/geocoder.dart';
import 'package:google_maps_webservice/places.dart';
class HomePage extends StatefulWidget {
HomePage({Key key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
TextEditingController addressController = TextEditingController();
GoogleMapsPlaces _places =
GoogleMapsPlaces(apiKey: "_apiKey");
double lat;
double lng;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: TextFormField(
validator: (value) {
if (value.isEmpty) {
return 'Please enter a valid address';
}
return null;
},
controller: addressController,
decoration: InputDecoration(
enabledBorder: new OutlineInputBorder(
borderSide: const BorderSide(color: Colors.grey, width: 1),
),
focusedBorder: new OutlineInputBorder(
borderSide: const BorderSide(color: Colors.grey, width: 1),
),
border: OutlineInputBorder(
borderSide: const BorderSide(color: Colors.grey, width: 1),
),
hintText: "Address",
labelText: "Address",
),
onTap: () async {
var prediction = await PlacesAutocomplete.show(
context: context,
apiKey: "ApiKey",
logo: Container(),
language: 'en',
mode: googlePlaces.Mode.overlay,
);
addressController.text = prediction.description;
displayPrediction(prediction);
},
),
),
);
}
Future<Null> displayPrediction(p) async {
if (p != null) {
PlacesDetailsResponse detail =
await _places.getDetailsByPlaceId(p.placeId);
double latt = detail.result.geometry.location.lat;
double lngg = detail.result.geometry.location.lng;
setState(() {
lat = double.parse(latt.toStringAsFixed(4));
lng = double.parse(lngg.toStringAsFixed(3));
});
}
}
}`