谷歌地图API:在提交之前,如何确保谷歌地图自动完成文本是实际地址



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

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

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

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

  • 当用户除了点击谷歌地图建议之外做其他事情时
  • 触发事件将焦点转移到第一个建议上
  • 触发事件以选择它

我为自己的代码复制结果(使用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);
        }
    });

对我来说,它是有效的,我希望它能有所帮助!

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

相关内容

最新更新