【问题标题】:Google Places autocomplete and search not workingGoogle 地方信息自动填充和搜索不起作用
【发布时间】:2018-03-01 20:25:58
【问题描述】:

Google 地点自动完成下拉菜单未填充任何地点,当我点击搜索时,出现以下错误。

但如果我使用键盘 ENTER - 我会在地图上看到结果。

直到昨天一切正常,代码方面没有任何变化。

(索引):9 未捕获的类型错误:无法设置未定义的属性“已处理” 在 _.Ec (js?key=AIzaSyDiIbcf012mobkCgUHnNjqRYzNCmTDeR1g&libraries=places:48) 在 HTMLInputElement。 (js?key=AIzaSyDiIbcf012mobkCgUHnNjqRYzNCmTDeR1g&libraries=places:49) 在 Object.trigger (js?key=AIzaSyDiIbcf012mobkCgUHnNjqRYzNCmTDeR1g&libraries=places:119) 在 HTMLButtonElement。 ((指数):2699) 在 HTMLButtonElement.dispatch (jquery.min.js:338) 在 HTMLButtonElement.elemData.handle (jquery.min.js:311) 在 HTMLButtonElement.nrWrapper ((index):9)

【问题讨论】:

标签: javascript google-places-api


【解决方案1】:

我的搜索按钮也开始失败并出现同样的错误。我认为 V3.31 和 V3.34 之间某处的 API 更改使得 event.trigger 的最后一个参数是必需的而不是可选的。

https://developers.google.com/maps/documentation/javascript/reference/event#event.trigger

我的代码如下所示:

button.click(function () {

    google.maps.event.trigger(input, 'focus');
    google.maps.event.trigger(input, 'keydown', {
        keyCode: 13
    });
});

我向焦点触发器添加了一个空的第三个参数,如下所示:

google.maps.event.trigger(this, 'focus', {});

一切又开始工作了。希望这对处于类似情况的任何人都有帮助!

【讨论】:

  • 很棒的收获。缩小的trigger 方法ƒ (a,b,c){if(_.R.hasListeners(a,b)){var d=_.bb(arguments,2),e=vd(a,b),f;for(f in e){var g=e[f];g&&g.b.apply(g.f,d)}}} 将其arguments 传递给其他_.bb,这可能在第三个参数的某个地方执行.length。第三个参数可以是任何可以具有属性的东西。如果没有第三个参数,则会引发此错误:TypeError: Cannot set property 'handled' of undefined
猜你喜欢
  • 2016-08-28
  • 1970-01-01
  • 2012-04-27
  • 2015-07-13
  • 2014-03-28
  • 2015-06-15
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
相关资源
最近更新 更多