我已经研究了很多,并找到了任何东西。我是一个新手程序员,所以可能有一个解决方案,我没有真正注意到它。
我有一个谷歌地方自动填充框,我用它来为用户添加地图到谷歌地图。 用户可以使用箭头向下选择预期位置,然后按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();
}
});
提前感谢您的帮助!
答案 0 :(得分:0)
假设您的autoCompleteBox是google.maps.places.Autocomplete类的一个实例,该对象不会向place_changed事件的事件侦听器发送任何参数,因此您的事件对象可能只存在于Internet Explorer中(因为在IE是全球性的)。除此之外,如果该位置已经更改并且触发了place_changed事件,则用户不再按任何键。如果您想使用事件对象中包含的信息,那么您应该从头开始构建自己的autoCompleteBox,而不是使用API中的那个。可以肯定的是,尝试在if()语句之前的函数的第一行添加另一个console.log("Fired")
。