我想在我的代码中使用google.map.XXX(例如google.map.LatLng)。
首先,为了能够构建一个项目,我在课程定义之前添加了declare let google : any;
。
当我尝试运行项目时,发生了TypeError: google.map is undefined
错误。
我在ngOnInit()
方法中使用了google.map.XXX,因此我认为"也许GoogleMaps仍然没有被加载?" ...所以,这是一种正确的假设。
然后我尝试在下面的代码中使用google.map.XXX
ngAfterViewInit() {
this.mapsAPILoader.load().then(() => {
// code that uses namespace of google.map
});
}
并发生以下错误:
EXCEPTION:未捕获(承诺):TypeError:google.map未定义
为什么即使在MapsAPILoader触发回调后,google.map也未定义?
答案 0 :(得分:0)
外部非打字稿库总是很棘手,将它们实现到正确的范围就是这样。
有多种方法可以解决这个问题。
<script src="https://maps.googleapis.com/maps/api/js?key=[YOUR-KEY]" async defer></script>
declare let google : any;
导入它,就像您一样new google.maps.function()
环境ngOnInit(){}
调用地图功能
答案 1 :(得分:0)
问题是愚蠢的拼错!
❌google.map.XXX
⭕️google.maps.XXX