你好,我有一个使用 Mapbox 的应用程序,同时也使用地理编码来搜索地点并导航到该位置。直到我尝试在 searchField 中搜索“Nayara”,它才出现问题。 当我在文本字段中搜索“Nayara”时,我会收到此错误,textFieldIsChanging 代理连接到 GeoCoding API(它是异步通信,并且结果在 tableView 中填充)。我可以成功地搜索所有其他地方,但不能搜索这个地方。这是否是 Mapbox 中的 bug?这是唯一一个会使应用程序出现这种情况的关键字吗?需要专家建议。提前致谢。愉快的编码。
当进行多个异步请求时,响应可能以与请求顺序不同的顺序返回。这在请求需要不同时间(如地理编码查询)的情况下尤为严重。在这种情况下,对于“Nayar”的查询可能比对于“Nayara”的查询需要更长的时间,而差异足够大,以至于结果以不同的顺序到达,因此“Nayar”响应会覆盖UI下拉菜单中的“Nayara”。解决此问题的典型方法包括添加防抖动(这样只有在按键之间经过任意时间后才会进行新的API请求),或跟踪请求和响应的时间戳,并丢弃以不同顺序到达的陈旧响应。后一种方法的示例可以在此处查看:https://github.com/mapbox/react-geocoder/pull/9