【问题标题】:Exception has occurred. _TypeError (type 'String' is not a subtype of type 'int' of 'index')发生异常。 _TypeError(类型'String'不是'index'类型'int'的子类型)
【发布时间】:2020-08-04 04:11:04
【问题描述】:

这是我正在使用的请求,它只获取地点的名称并在尝试获取附近时抛出错误。

错误是

发生了异常。 _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"

【问题讨论】:

  • 可能半径 5000 应该是 int 而不是 string..将其从 '5000' 更改为简单的 5000。
  • 可以添加response.data['results']json 来发帖吗?我认为附近是数字,您应该将.map&lt;String&gt; 更改为.map&lt;Object&gt;
  • 我已经编辑过了
  • 发布堆栈跟踪
  • 说太长不能发,我不能发图片

标签: google-maps flutter dart


【解决方案1】:

这个怎么样?

来自

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();

【讨论】:

  • 仍然抛出错误(发生异常。_TypeError(类型'List>'不是'FutureOr>'类型的子类型))
  • 哦!我忘了! “未来>> searchNearby(字符串关键字)异步{”。我编辑了我的答案。
  • 你是一个绝对的救星!!非常感谢!!
猜你喜欢
  • 2020-08-09
  • 2021-03-29
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 2021-02-05
相关资源
最近更新 更多