【问题标题】:Custom Google Maps Search Box not Localizing returns upon [Enter]自定义谷歌地图搜索框不本地化返回 [Enter]
【发布时间】:2015-06-09 02:41:59
【问题描述】:

我有一个基本的自定义谷歌地图页面,除了它使用文件中输入的地址在地图上绘制一些位置之外没有什么特别之处。

问题在于搜索框。

发生的情况是,例如当我输入“44060”时,搜索框下方显示的自动完成结果将本地化为美国(这很好),但是如果用户按 [Enter],则地图不会将他们带到第一个结果或任何本地化结果(将他们带到另一个遥远的国家)。

我知道 SearchBox 结果应该是:

“将 SearchBox 结果偏向位于 当前地图的视口。”

但它似乎没有这样做。

任何帮助将不胜感激

谢谢!

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    api 可以在 ENTER 上做任何事情,这对我来说是新的,直到现在我才意识到这一点。不过好像你说的有问题。

    您可以实现自己的处理程序:

              google.maps.event.addDomListener(input,//input-element 
                                               'keydown', 
                                                function (e)
              {
                  if (e.keyCode === 13 && !e.triggered)
                  {
                      google.maps.event.trigger(this, 'keydown',
                      {
                          keyCode: 40
                      })
                      google.maps.event.trigger(this, 'keydown',
                      {
                          keyCode: 13,
                          triggered: true
                      })
                  }
              });
    

    ...当您点击 ENTER 时,它将从下拉列表中选择第一个建议

    【讨论】:

    • 感谢您的回答 - 如果这是一个愚蠢的问题,我们深表歉意,我将如何实施此解决方案?输入元素“keydown”的正确语法是什么?当只是复制/粘贴代码时,它表示输入未定义。
    • 输入应为 HTML 输入(与您用于自动完成/搜索框的输入相同)。我不确定您是如何/在哪里创建搜索框的,所以我无法准确告诉您如何访问它。
    • 感谢您在这里的持续帮助 - 这有帮助吗? '
      ' ' // 创建搜索框并将其链接到 UI 元素。 var input = /** @type {HTMLInputElement} */( document.getElementById('pac-input')); map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);'
    猜你喜欢
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    相关资源
    最近更新 更多