Javascript google maps API在角度指令中出错
我正在尝试创建一个简单的angular指令,将GoogleMapsPlacesSearchBox添加到输入中。看见我甚至不需要地图,只需要搜索框 指令成功运行控制台搜索框对象的打印成功,但运行后控制台上出现错误,输入不起作用。控制台中的错误为Uncaught TypeError:undefined不是函数 可以肯定的是,我正在使用它旁边的另一个指令,它使用jqueryui初始化了一个日期选择器。这似乎很管用 HTML:Javascript google maps API在角度指令中出错,javascript,angularjs,google-maps,google-maps-api-3,angularjs-directive,Javascript,Angularjs,Google Maps,Google Maps Api 3,Angularjs Directive,我正在尝试创建一个简单的angular指令,将GoogleMapsPlacesSearchBox添加到输入中。看见我甚至不需要地图,只需要搜索框 指令成功运行控制台搜索框对象的打印成功,但运行后控制台上出现错误,输入不起作用。控制台中的错误为Uncaught TypeError:undefined不是函数 可以肯定的是,我正在使用它旁边的另一个指令,它使用jqueryui初始化了一个日期选择器。这似乎很管用 HTML: <html ng-app="events">
<html ng-app="events">
<body>
<h1>Hello Plunker!</h1>
Date:
<input type="text" datetime-input="format" />
<br>
Location:
<input type="text" location-input="format" />
</body>
</html>
看
为什么会有错误?我做错了什么?问题是元素的回调格式不正确,必须执行元素[0]。之后,您必须附加一个侦听器。您的代码将如下所示:
scope.searchBox = new google.maps.places.SearchBox(element[0]);
google.maps.event.addListener(scope.searchBox,'places_changed',function(){
var places = searchBox.getPlaces();
for(var i =0, place;place=places[i];i++){
console.log(place.icon+':'+place.name+':'+ place.geometry.location);
}
})
你试过这个指令吗?谢谢!这确实有效。如果我有足够的信用,我愿意接受你的评论。。但我想知道我做错了什么……是的,显然元素[0]是我缺少的。谢谢虽然我问这个问题已经9个月了
scope.searchBox = new google.maps.places.SearchBox(element[0]);
google.maps.event.addListener(scope.searchBox,'places_changed',function(){
var places = searchBox.getPlaces();
for(var i =0, place;place=places[i];i++){
console.log(place.icon+':'+place.name+':'+ place.geometry.location);
}
})