在jquery移动面板中集成谷歌地方(自动完成)

时间:2015-04-09 01:52:23

标签: jquery-mobile google-maps-api-3

我希望整合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中移除了对象或者会破坏自​​动完成绑定的东西,但这并没有帮助。

有什么想法?我不知道从哪里开始。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,找到了答案。

继续我的调查,我把它转换为尝试使用jqm弹出模式而不是面板,但仍然没有运气。但是,我改变了我的谷歌术语,寻找弹出窗口而不是面板,并找到了这个结果:

https://groups.google.com/forum/m/#!topic/google-maps-js-api-v3/GZX0ynQNn1M

G. Tandon(对他自己的问题)的回答中的解决方案对我来说很好。结果显示结果隐藏在面板和弹出模式后面,只需要将其带到最前沿。

谢谢! (并且对g.donon大肆宣传!)

相关问题