我在Rails proyect中使用geocomplete时遇到问题,基本上我想使用geocomplete自动填充一个位置,但是该表单无法正常工作,我尝试使用不太复杂的geocomplete函数,但似乎没有任何正常工作。
我正在使用“ geocomplete_rails” gem。
我复制粘贴的这段代码来自geocomplete示例之一,但简短得多:
<div id="my_input">
<input id="geocomplete" type="text" placeholder="Type in an address"
autocomplete="off">
<input class="find_me" type="button" value="Encuentra">
<div id="my_map">
</div>
<div id="my_form">
</div>
</div>
这是geo.js
$("#geocomplete").click(function(){
console.log("Go");
$("input").trigger("geocode");
});
$("#my_input").geocomplete({
map: "#my_mappu",
mapOptions: {
zoom: 10
},
markerOptions: {
draggable: true
},
details: "#my_form"
});
我的代码中已经有googlemaps api,位于我的html头中,
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAwAw8El2ksHEry1EmoX6LIoZJsFIPXmdc&libraries=places&"
async defer>
</script>
这是我所需的js文件
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require bootstrap-sprockets
//= require cocoon
//= require turbolinks
//= require dropzone
//= require timepicker
//= require datepicker
//= require jquery-ui
//= require geocomplete
//= require geo
//= require_tree .
对我来说,最怪异的是,每当我在“ $(“#geocomplete”)。click(function(){“之外请求警报时,它都起作用,但是单击选择器却无济于事。工作吗?
最佳答案
HTML中有
<div id="my_input">
<input id="geocomplete" type="text" placeholder="Type in an address"
...
因此,您输入的ID是
geocomplete
,而不是my_input
。而不是打电话
$("#my_input").geocomplete({ ...
你应该打电话
$(document).ready(function() {
$("#geocomplete").geocomplete({
...
除此之外,您还想把这行
<script src="https://maps.googleapis.com/maps/api/js?key=xxx&libraries=places&" async defer> </script>
在您头部顶部的
<title>
部分之后为了帮助未来的人,我使用了可以正常工作的Rails应用程序制作了一个非常简单的开源github回购=> https://github.com/Poilon/super-simple-gplaces