Javascript google maps API在角度指令中出错

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">

我正在尝试创建一个简单的angular指令,将GoogleMapsPlacesSearchBox添加到输入中。看见我甚至不需要地图,只需要搜索框

指令成功运行控制台搜索框对象的打印成功,但运行后控制台上出现错误,输入不起作用。控制台中的错误为Uncaught TypeError:undefined不是函数

可以肯定的是,我正在使用它旁边的另一个指令,它使用jqueryui初始化了一个日期选择器。这似乎很管用

HTML:

<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);
    }
})