此处 API 自动完成 - 未找到粘贴地址。只会打字

HERE API Autocomplete - Paste an address isn't found. Only typing

我正在使用此处 API 的自动完成功能 API。 当我粘贴一些地址:“4141 Pingree Rd, Howell, MI 48843, United States”时,它什么也没找到。 但是,如果我输入该地址,就会找到它。

为什么我粘贴地址却找不到任何内容?只能打字?

这是 https 请求(没有 app_code 和 app_id): https://autocomplete.geocoder.api.here.com/6.2/suggest.json?maxresults=5&country=USA&language=en-US&jsonattributes=1&query=4141%20Pingree%20Rd%2C%20Howell%2C%20MI%C2%A048843%2C%20United%20States&beginHighlight=%3Cmark%3E&endHighlight=%3C%2Fmark%3E&jsoncallback=__jsonp1_

谢谢。

也许您可以通过检测 JavaScript 中的粘贴来使用解决方法,然后在输入上触发“keydown”事件以显示结果。

一些想法:

Detect paste in input box

Trigger a keypress/keydown/keyup event in JS/jQuery?

这个问题很难看出,因为它来自于在州 2 字母字母代码(示例中的 MI)和邮政编码之间添加的不间断 space 字符 (%C2%A0) (48843).

使用常规 space,您会看到州代码 MI 后跟 %20 而不是 %C2%A0 .

用不间断的space,API没有找到地址。然而,它发现它具有常规 space。因此,您需要在将其发送到 API 之前进行一些额外的字符串清理,例如通过在复制的字符串上链接 .replace(/\s/g, ' ')