我正在尝试将Google商家信息自动填充API用于WorkLight,但看起来有些问题. 当我使用计算机的浏览器时,一旦我开始输入地点的名称,自动填充建议就可以正常工作,我可以选择一个.但是当在移
当我使用计算机的浏览器时,一旦我开始输入地点的名称,自动填充建议就可以正常工作,我可以选择一个.但是当在移动设备(Android或iPhone)上运行应用程序时,我能够看到自动完成结果,但是当我点击它们时没有任何反应.
我找到了一些js库,可以让GooglePlaces Autocomplete API更容易工作 – 我的意思是,除了在移动设备上(WorkLight / Cordova App)
我还发现有些人报告了cordova的问题.有些人能够通过向google的元素添加“needclick”类来解决问题,但这对我不起作用
这是一个用于测试的JS库:
http://ubilabs.github.io/geocomplete/
StackOverflow链接及相关问题:
can’t tap on item in google autocomplete list on mobile
有没有人对可能的解决方案有任何想法?
我刚尝试过,它对我来说很好.这就是我所做的,如果你做了不同的事情,请告诉我们>创建了一个新的混合应用程序
>将jquery.geocomplete.js添加到common / js文件夹中
>使用api提供的代码示例更新了index.html代码
文件
>在常见预览上测试(工作正常)
>创建了一个Android环境并在Nexus 7设备上执行它(android 4.4.2) –
工作得很好.
“工作正常”我的意思是当我在文本字段中键入时我可以看到提供的选项列表,我可以点击其中一个选项,它将填充文本字段.
这是index.html的代码
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>googleplaces</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"> <!-- <link rel="shortcut icon" href="images/favicon.png"> <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> --> <link rel="stylesheet" href="css/main.css"> <style type="text/css" media="screen"> form { background: url(https://developers.google.com/maps/documentation/places/images/powered-by-google-on-white.png) no-repeat center right; } </style> <script>window.$= window.jQuery = WLJQ;</script> </head> <body style="display: none;"> <form> <input id="geocomplete" type="text" placeholder="Type in an address" size="90" /> <input id="find" type="button" value="find" /> </form> <script src="js/initOptions.js"></script> <script src="js/main.js"></script> <script src="js/messages.js"></script> <script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="js/jquery.geocomplete.js"></script> <script> $(function(){ $("#geocomplete").geocomplete() .bind("geocode:result", function(event, result){ $.log("Result: " + result.formatted_address); }) .bind("geocode:error", function(event, status){ $.log("ERROR: " + status); }) .bind("geocode:multiple", function(event, results){ $.log("Multiple: " + results.length + " results found"); }); $("#find").click(function(){ $("#geocomplete").trigger("geocode"); }); }); </script> </body> </html>