Я использую метод Ajax, чтобы открыть партиал для моего нового события. В этой части у меня есть форма для создания события.
Итак, я хотел бы использовать автозаполнение gmaps в этом введенном фрагменте.
Я уже использую этот код в форме c (для визуализации нет ajax). И он отлично работает (так что API хорошо настроен). Но когда я пытаюсь повторно использовать этот код в частичном вводе через AJAX, он больше не работает!
Частичном вводе для нового события:
# events/_new.html.erb
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyAnjmxMT31wiBEdoIn3vgjpnynAGjxY1Ds"></script>
<div class="modal" id="new_event">
<div class="col s12">
<label for="autocomplete-input">Adresse</label>
<input type="text" id="autocomplete_address" name="adress" class="autocomplete">
</div>
</div>
<input type="text" id="company_info_adress" name="company_info_adress" style="display: none;">
<script>
$(document).ready(function(){
$('#new_event').modal();
$('#new_event').modal("open");
function initializeAutocomplete(id) {
var element = document.getElementById(id);
if (element) {
var autocomplete = new google.maps.places.Autocomplete(element, { types: ['geocode'], componentRestrictions: {
country: 'FR'
} });
google.maps.event.addListener(autocomplete, 'place_changed', onPlaceChanged);
}
}
function onPlaceChanged() {
var place = this.getPlace();
$('#company_info_adress').val(place.formatted_address);
}
google.maps.event.addDomListener(window, 'load', function() {
initializeAutocomplete('autocomplete_address');
});
});
</script>
Я думаю, это строка: google.maps.event.addDomListener(window, 'load', function() {
, которая должна быть обновлена в соответствии с моим ajax рендером