2015-04-22 3 views
1

Я пытаюсь использовать 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&amp;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, так что я думаю, я правильно загрузки службы.

ответ

0

Хорошо, что один был очень тупой ...

Я забыл "новый"!

var autocomplete = new google.maps.places.Autocomplete(document.getElementById("auto")); 

Я заслуживаю свой гнев

Смежные вопросы