【问题标题】:HERE API Autocomplete - Paste an address isn't found. Only typingHERE API 自动完成 - 找不到粘贴地址。只打字
【发布时间】:2021-12-28 15:54:46
【问题描述】:

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

谢谢。

【问题讨论】:

  • 请添加用户粘贴地址时发送的HTTP请求。
  • @MichaelP.Bazos - 添加

标签: autocomplete geocoding here-api here-autocomplete


【解决方案1】:

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

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

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

【讨论】:

  • 哇!谢谢。真的解决了。
  • 欢迎。我认为这是 API 应该处理的边缘情况,但是额外的用户输入清理客户端不会造成伤害。
【解决方案2】:

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

一些想法:

Detect paste in input box

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

【讨论】:

  • 粘贴正在触发请求,但没有返回任何内容。只需输入该地址
猜你喜欢
  • 2013-10-24
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 2023-03-22
  • 2021-04-19
  • 2023-03-12
相关资源
最近更新 更多