google-maps - 发生异常。_TypeError(类型'String'不是'index'类型'int'的子类型)
问题描述
这是我正在使用的请求,它只获取地点的名称,并在尝试获取附近时抛出错误。
错误是
发生异常。_TypeError(类型'String'不是'index'类型'int'的子类型)”
Future<List<String>> searchNearby(String keyword) async{
var dio = Dio();
var url = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json';
var parameters = {
'key': myKey,
'location': '$lat, $lng',
'radius': '5000',
'keyword': keyword,
'rankBy': 'distance',
};
var response = await dio.get(url, queryParameters:parameters);
return response.data['results']
.map<String>((result) => result['name'].toString())
.map<String>((result) => result['vicinity'].toString())
.toList();
}
json结果:
0:"geometry" -> Map (2 items)
1:"icon" -> "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png"
2:"id" -> "f31b24b8820ec3f5a0a37233f893f79e730fbd0d"
3:"name" -> "PureGym Glasgow Clydebank"
4:"opening_hours" -> Map (1 item)
5:"photos" -> List (1 item)
6:"place_id" -> "ChIJk1XBuqtPiEgRE_5-hxEgBW4"
7:"plus_code" -> Map (2 items)
8:"rating" -> 4.3
9:"reference" -> "ChIJk1XBuqtPiEgRE_5-hxEgBW4"
10:"scope" -> "GOOGLE"
11:"types" -> List (4 items)
key:"results"
value:List (20 items)
[0]:Map (14 items)
12:"user_ratings_total" -> 76
13:"vicinity" -> "11 / 12 Clydebank"
解决方案
这个怎么样?
从
Future<List<String>> searchNearby(String keyword) async{
到
Future<List<List<String>>> searchNearby(String keyword) async {
和
return response.data['results']
.map<List<String>>((result) =>
[result['name'].toString(), result['vicinity'].toString()])
.toList();
推荐阅读
- c# - 在 Jpath 中转义单引号
- python-3.x - 无法从命令行运行 tensorboard 来评估我的模型的效率
- python - Python - 高效的数据分组
- javascript - 如何从javascript中的嵌套对象数组中获取对象
- wordpress - WordPress 如何从 thumbnail_id 获取 post_id?
- r - 在 R flexdashboard:runtime:shiny 中嵌入本地 PDF 文件
- blockchain - Sol-verifier 构造函数参数 - 失败 - 无法验证
- user-interface - 如何自定义标签栏?扑
- javascript - 如何声明html标签的嵌套变量?
- image - 如何在 Jupyter Notebook 中显示来自 API 响应的图像?