1

我有一个使用自动完成功能的谷歌地图搜索框(当用户在字段中输入文本时,会出现地址建议的下拉菜单)。

我想确保当用户提交表单时,字段内的文本是实际的自动完成建议。

我的目标是确保输入的文本是实际地址,而不是随机字符串。

4

2 回答 2

1

我有一个类似的问题(给定字段中的任何内容都应该是有效的 Google 地图地址),并构建了一个受此启发的解决方案这可能会对您有所帮助。这个想法是:

  • 当用户执行其他操作而不是单击 Google 地图建议时
  • 触发事件以将焦点移至第一个建议
  • 触发事件选择它

我为自己的代码复制结果(使用 Jquery):

    //// Ensuring that only Google Maps adresses are inputted
    function selectFirstAddress (input) {
        google.maps.event.trigger(input, 'keydown', {keyCode:40});
        google.maps.event.trigger(input, 'keydown', {keyCode:13});
    }

    // Select first address on focusout
    $('#content').on('focusout', 'input#xxx__zzz', function() {
        selectFirstAddress(this);
    });

    // Select first address on enter in input
    $('#content').on('keydown', 'input#xxx__zzz', function(e) {
        if (e.keyCode == 13) {
            selectFirstAddress(this);
        }
    });

对我来说它有效,我希望它有帮助!

于 2017-03-02T12:31:27.830 回答
0

以下链接描述了一个示例,您可以在其中访问自动完成建议:https ://developers.google.com/maps/documentation/javascript/examples/places-queryprediction

于 2013-09-04T19:46:11.177 回答