我试图在我的ember.js App中使用google的Autocomplete api
我的观点:
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]不是函数
编辑不是EMBER.JS问题删除标记
我已设置最小设置以显示问题
源:
<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
错误来自places API,所以我想我正确加载了该服务。
答案 0 :(得分:0)
好的,那个人非常愚蠢......
我忘记了“新”!
var autocomplete = new google.maps.places.Autocomplete(document.getElementById("auto"));
我值得你的愤怒