ios – Mapbox GeoCoding关键字问题

嗨,我有一个使用Mapbox的应用程序,我也使用地理编码搜索地点和导航到该位置.它一直运作顺利,直到我在searchField中尝试了关键字“Nayara”.
《ios – Mapbox GeoCoding关键字问题》
《ios – Mapbox GeoCoding关键字问题》

当我在textfield中搜索“Nayara”时,我收到此错误,textFieldIsChanging委托连接到GeoCoding API(这是异步通信,结果填充在tableView中).我可以成功搜索所有其他地方但不是这个.这是地图框中的错误吗?这是唯一一个有问题的关键字,还是有任何其他关键字让这个应用程序像这样?需要专家意见.提前致谢.快乐的编码.

最佳答案 在发出多个异步请求时,响应可能会以与请求它们的顺序不同的顺序返回.当请求花费不同的时间时(例如地理编码查询的情况),这尤其是一个问题.

在这种情况下,对Nayar的查询可能需要比Nayara的查询更长的时间,并且差异足以使结果无序到达,因此Nayar响应会在UI下拉列表中覆盖Nayara.

此问题的典型解决方案包括添加去抖动(以便在键击之间经过任意时间量时仅创建新的API请求),或者跟踪请求和响应的时间戳,并丢弃到达的陈旧响应不按顺序.

这里可以看到后一种方法的一个例子:https://github.com/mapbox/react-geocoder/pull/9

点赞