我需要在我的应用程序中执行一些操作。 1.将谷歌地图API 2.初始化我的地图 3.获取到google
变量的引用,并用它来使事件侦听器和扩展,它包含如何正确地扩展从React的外部网站加载的JS类
现在我使用的是ImageOverlay类this pattern所以我可以通过window.google
参考google
。然后在我的initMap,我设置了一个事件侦听器,并做 ```
ImageOverlay.prototype = new window.google.maps.OverlayView();
function ImageOverlay(bounds, image, map) {
...do constructory stuff
}
ImageOverlay.prototype.onAdd = function() {
...
};
创建我需要(从the G Maps docs)类。我想将这些代码移到一个外部文件中,但我一直在坚持如何清理它。我收到错误,如'ImageOverlay' is not defined
。如果我尝试将它变成ES6类(export default class ImageOverlay extends window.google.maps.OverlayView {
,然后import ImageOverlay ...
),它会失败,因为window.google
尚未定义。所以我的问题是,我该如何正确加载该类然后扩展它?让我知道是否需要提供更多细节/澄清任何事情。 TIA。
备选问题:我用react-async-script-loader
加载API:export default scriptLoader(['https://maps.googleapis.com/maps/api/js?key=whoop&callback=initMap&libraries=visualization'])(MapContainer)
这个组件,但是,确实import Map
在顶部,这反过来,确实import ImageOverlay
,这当然是失败的,因为google
尚未确定。