我希望整合google的自动填充位置api(通过http://maps.googleapis.com/maps/api/js?libraries=places获取位置建议)。我希望自动完成功能附加到位于jquery"面板中的文本输入字段" (jqm版本1.4.2)。该面板显然在页面加载时隐藏,并在单击按钮时显示。
为了记录,当输入不在面板内时,我已经自动完成工作正常。因此,我知道我可以很好地掌握js文件,并对事情的运作方式有基本的了解。
我使用以下代码触发自动完成绑定:
var input = document.getElementById('locationSearch');
var options = {
//bounds: defaultBounds,
// types: ['establishment','(cities)']
};
// initiate autosuggest
autocomplete = new google.maps.places.Autocomplete(input, options);
当我查看页面时,自动完成功能不起作用。我在firebug /等中没有任何错误。但是,如果我在firebug控制台中手动运行命令,getelementbyid可以工作,但在初始化时失败并显示以下错误消息:
TypeError:[$ G]不是函数
D8()main.js ...> eval(第18行)R8 [I] .Ml()main.js ...>评估(第34行) Kl /<()main.js ...> eval(第1行)Q /<()main.js(第15行)ag()main.js (第27行)Kl()main.js ...> eval(第1行)
... Y("输入&#34));无功 C = A $ G;空==Çthis.L ||一个[W]("占位符",this.H ...
http://maps.gstatic.com/maps-api-v3/api/js/20/6/main.js第375行&gt; <评估线375> <评估线375> <评估线375> EVAL
我甚至尝试将初始化代码移到&#34; beforeopen&#34;然而,在jqm面板中,我得到了相同的结果。我的想法是,面板的创建过程暂时从DOM中移除了对象或者会破坏自动完成绑定的东西,但这并没有帮助。
有什么想法?我不知道从哪里开始。
谢谢!
答案 0 :(得分:0)
继续我的调查,我把它转换为尝试使用jqm弹出模式而不是面板,但仍然没有运气。但是,我改变了我的谷歌术语,寻找弹出窗口而不是面板,并找到了这个结果:
https://groups.google.com/forum/m/#!topic/google-maps-js-api-v3/GZX0ynQNn1M
G. Tandon(对他自己的问题)的回答中的解决方案对我来说很好。结果显示结果隐藏在面板和弹出模式后面,只需要将其带到最前沿。谢谢! (并且对g.donon大肆宣传!)