Итак, я пытаюсь добавить строку поиска https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform в мое приложение Meteor. Сначала мне нужно было загрузить библиотеку Google Адресов. Однако эта ссылка также пытается напрямую написать в DOM, чтобы захватить другую ссылку. Meteor не позволяет этого, поэтому я решил загрузить два файла js, как это.
Template.listingSubmit.rendered = function(){
if (!this.rendered){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places";
document.body.appendChild(script);
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://maps.gstatic.com/cat_js/maps-api-v3/api/js/17/13/%7Bmain,places%7D.js";
document.body.appendChild(script);
this.rendered = true;
}
};
Это работает? Мой следующий вопрос: как инициализировать текстовое поле автозаполнения? Html в соответствующем шаблоне прост.
<div id="locationField">
<input id="autocomplete" placeholder="Enter your address" type="text">
</div>
Теперь я попытался добавить
var autocomplete = new google.maps.places.Autocomplete(
(document.getElementById('autocomplete')),{types: ['geocode'] }
);
в Template.listingSubmit.rendered, но ничего не происходит. Я получаю ошибку, не определенную Google. Что пошло не так?