谷歌地图自动完成框,移动的听众+输入

时间:2012-09-03 09:59:27

标签: jquery google-maps autocomplete

我已经研究了很多,并找到了任何东西。我是一个新手程序员,所以可能有一个解决方案,我没有真正注意到它。

我有一个谷歌地方自动填充框,我用它来为用户添加地图到谷歌地图。 用户可以使用箭头向下选择预期位置,然后按Enter键添加它。

我想要做的是让地图平移到用户按下shift + enter时选择的位置。我试过但无济于事。

以下是自动填充框的原始侦听器:

google.maps.event.addListener(autoCompleteBox, 'place_changed', onPlaceChanged);

以下是我一直在尝试编辑它的方法:

google.maps.event.addListener(autoCompleteBox, 'place_changed', function(){
    if ($('#searchTextField').keyup(function (event) {
        if (event.keyCode == 13 && event.shiftKey) {
            var place= autoCompleteBox.getPlace();
            _map.setCenter(place.getPosition()); 
            console.log("logged shift enter");
        }
     });
else {
    onPlaceChanged();
}

});

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

假设您的autoCompleteBox是google.maps.places.Autocomplete类的一个实例,该对象不会向place_changed事件的事件侦听器发送任何参数,因此您的事件对象可能只存在于Internet Explorer中(因为在IE是全球性的)。除此之外,如果该位置已经更改并且触发了place_changed事件,则用户不再按任何键。如果您想使用事件对象中包含的信息,那么您应该从头开始构建自己的autoCompleteBox,而不是使用API​​中的那个。可以肯定的是,尝试在if()语句之前的函数的第一行添加另一个console.log("Fired")