谷歌地理编码 - 通过“ENTER”键提交地址时功能不起作用

Posted

技术标签:

【中文标题】谷歌地理编码 - 通过“ENTER”键提交地址时功能不起作用【英文标题】:Google Geocoding - function does not work when submit address by key "ENTER" 【发布时间】:2013-02-27 18:58:27 【问题描述】:

我面临的一个问题是: 当我输入地址并在键盘上单击“Enter”时,页面将被重新加载。进度将在“google.maps.Geocoder().geocode()”之前自动停止。 看起来“Enter”键导致回发并在地理编码器回调函数完成之前重置地图。

“store-search-street”是我的textFiled,如果我在下面写了相关方法:

   $('#store-search-street').keyup(function(e)
       storeLocator.updateMap();
       storeLocator.fire('sl:store-locator-search')
       return false;
    );

然后当我将地址复制到文本字段时,它可以执行 geocode() 并且一切都很好。但是里面没有“Enter”键。

当我将代码更改为下面的“单击ENTER提交地址”时

 $('#store-search-street').keyup(function(e)
    if (e.keyCode == 13) 
       storeLocator.updateMap();
       storeLocator.fire('sl:store-locator-search')
       return false; 
    );

geocode() 不起作用。 谁能帮我解决这个问题?谢谢!

【问题讨论】:

试试e.preventDefault() 【参考方案1】:

我猜你正在使用表单来获取详细信息。

通常情况下,表单会将信息发布到网站,而不仅仅是启动脚本而不去任何地方。

您需要捕获该表单提交(回车键)并抑制它,以便您的脚本运行。

<form id="postcodeEntry" method="post" action="/" onsubmit="some_javascript_function";return false;">

抛出一个“onsubmit”来捕获表单提交。

【讨论】:

以上是关于谷歌地理编码 - 通过“ENTER”键提交地址时功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地理编码 API 为网络标准化地址返回 ZERO_RESULTS

对地址进行地理编码并将其设置为谷歌地图的初始中心

如何在信息窗口中显示我的地理编码地址?谷歌地图 API

谷歌/雅虎地理编码的替代品? [关闭]

谷歌地理编码 API 不如使用地址的谷歌地图准确

如何从谷歌地图地理编码返回地址类型?