<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBQqRCD1ttWhl-kU9sTEEDmkkJivSpZAS8&callback=initializeMap"> </script>
如果它位于范围内,我如何将initializeMap回调函数传递给google maps api。
答案 0 :(得分:1)
省略回调并将初始化函数放入指令
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"
async defer>
</script>
<init-map map="vm.map">
</init-map>
JS
app.directive("initMap", function($window) {
return {
restrict: "E",
template: '<div style="height: 400px;">XXX</div>',
link: function(scope,elem,attrs) {
var jElem = elem.find('div')[0];
scope[attrs.map] = new google.maps.Map(jElem, {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
};
});
上述指令将使用map
属性定义的范围变量创建新地图。