1

我正在使用 HERE 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 _

谢谢。

4

2 回答 2

2

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

使用常规空格,您会看到状态代码 MI 后跟%20而不是%C2%A0

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

于 2021-11-17T22:21:35.813 回答
0

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

一些想法:

检测输入框中的粘贴

在 JS/jQuery 中触发 keypress/keydown/keyup 事件?

于 2021-11-17T16:53:47.923 回答