Я пытаюсь использовать API автозаполнения от Google в моих ember.js Appс помощью Google API автозаполнения v3
Мое мнение:
import Ember from 'ember';
import autocomplete from '../utils/google-geocoder-autocomplete.js';
export default Ember.View.extend({
templateName: "mapLocation",
classNames: ["map-location"],
autocomplete: function() {
autocomplete($(".map-location-search-input-2")[0]);
console.log(autocomplete);
}.on('didInsertElement')
});
Моя автозаполнения функция:
export default function googleGeocoderAutocomplete(input) {
var autocomplete = google.maps.places.Autocomplete(input);
return autocomplete;
}
Я добавил разрыв функции, вот значения:
ввод:
<input class="map-location-search-input-2" type="text">
При вызове подсказками, я получаю эту ошибку:
TypeError: это [Lb] не является функцией
EDIT НЕ ember.js ПРОБЛЕМА УДАЛЕНИЯ TAG
I 'setup минимальная установка для того чтобы показать проблему
источник:
<html>
<head>
<meta charset="utf-8">
<title>demo autocomplete</title>
<meta name="description" content="">
</head>
<body>
<input type="text" id="auto"/>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyBb1BipElNZJQPhdkSUdX5DxZpPnQV_D3k"></script>
<script>
var autocomplete = google.maps.places.Autocomplete(document.getElementById("auto"));
</script>
</body>
</html>
Сгенерированный HTML из поля зрения инспектора:
<html>
<head>
<meta charset="utf-8">
<title>demo autocomplete</title>
<meta name="description" content="">
<script type="text/javascript" charset="UTF-8" src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/common.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/util.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/controls.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/places_impl.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/stats.js"></script></head>
<body>
<input type="text" id="auto">
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyBb1BipElNZJQPhdkSUdX5DxZpPnQV_D3k"></script><script src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/main.js"></script><script src="https://maps.gstatic.com/maps-api-v3/api/js/20/9/intl/fr_ALL/places.js"></script>
<script>
var autocomplete = google.maps.places.Autocomplete(document.getElementById("auto"));
</script>
</body>
</html>
Ошибка такое же, как и раньше:
Uncaught TypeError: this[Lb] is not a function
(anonymous function) @ VM140:1
(anonymous function) @ main.js:16
hg @ main.js:28
(anonymous function) @ VM149:35
Kh.controls @ VM147:170
(anonymous function) @ main.js:39
(anonymous function) @ main.js:27
(anonymous function) @ main.js:27
(anonymous function) @ main.js:27
dg @ main.js:28
$f.(anonymous function).F @ main.js:27
(anonymous function) @ places_impl.js:1
ошибка происходит от места API, так что я думаю, я правильно загрузки службы.