我按照高德地图api上的demo,写了一个poi搜索框,并调用AMap.plugin(['AMap.Autocomplete', 'AMap.PlaceSearch'], function() {}),我在调试的时候,发现当输入框在输入的时候(快速增减输入字符),该api会一直向高德服务器发请求(这个情况实在是无法截图,不知道诸位是否能够明白我的意思)。
而我猜测这个api的是通过监听input的oninput事件的变化,去请求服务器,并回调回poi搜索结果。而这就导致了我所遇到的情况:快速增减输入字符的时候,下面的热点列表会一直闪烁变化,因为当我删减或者增加一个字符的时候,高德服务器的请求回调还没有返回,我继续删减或者增加字符,上一个的回调才刚返回...
因为在手册上并没有接受回调的api,只能调用和监听列表点击事件(高德的api)。我的想法是,当我在快速删减或者增加时,我延时监听字符变化,以减少请求次数,但是并没有结束请求的api。有没有人知道这需求怎么解决啊?
我自顶一下,大神们,支支招呗。
用xhr的abort()估计也不好使,它的api的后台请求接口被整个封装到amap这个对象中了,我甚至都找不到它对应的请求接口到底是哪一个。
你们在调地图接口的时候有没有遇到这个坑啊?有解决劳动没有,分享给小弟呗