我在flutter中使用了“google_maps_webservice^0.0.20-nullsafety.5”,有人能告诉我我做错了什么吗
签名:Future getDetailsByPlaceId(字符串位置ID,{字符串会话令牌,列表字段=常量[],字符串语言,字符串区域,})
下面是我如何使用它
PlacesDetailsResponse detail =
await _places.getDetailsByPlaceId(
p.placeId.toString(),
fields: ['name'], // Commenting out this line, would make it work, but i need this attribute/property to save cost
language: 'fr',
region:"fr",
);
问题:字段:['name'] =〉这个“fields”属性总是失败,我看过很多教程,所有的教程都建议使用相同的方法,但它仍然失败,并显示以下消息
E/扑动(9854):[错误:flutter/lib/ui/ui_dart_state.cc(209)]未处理的异常:在类型转换E/flutter(9854)中,类型“Null”不是类型“String”的子类型:第0个地点详细信息来源于Json(软件包:谷歌Map/网页服务/源代码/地点。Map发布时间:138:31)排名第一的新地点详细信息。来自Json(软件包:谷歌Map网络服务/源代码/地点。dart:710:7)E/flutter(9854):#2_$地点详细信息响应来自Json(软件包:谷歌Map网络服务/源代码/地点。例如,点击时间:294:26)E/flutter(9854):排名第三的新地点详细信息响应.来自Json(软件包:google_maps_webservice/src/地点.dart:838:7)E/flutter(9854):#4谷歌Map的位置。解码详细信息响应(软件包:谷歌Map的网络服务/src/地点。dart:528:29)E/flutter(9854):#5谷歌Map的地点(package:谷歌Map的网站服务/src/地点。dart:126:12)电子/flutter(9854):E/扑动(9854):#6 _位置选择器初始状态.goToPlace(软件包:myproj/screens/maps/初始所有者位置选择器.dart:149:11)E/flutter(9854):
下面是我如何使用它
PlacesDetailsResponse detail =
await _places.getDetailsByPlaceId(
p.placeId.toString(),
fields: ['name'], // Commenting out this line, would make it work, but i need this attribute/property to save cost
language: 'fr',
region:"fr",
);
1条答案
按热度按时间mrzz3bfm1#
查看google_maps_webservice结果(
PlaceDetails
)的Map类代码,字段placeId不可为空,但应该为空。你有两个选择,使用
fields: ['name', "place_id"]
或者派生google_maps_webservice并使placeId可为空。