Javascript 打字脚本+;谷歌地图API+;infobox.js未捕获类型错误:infobox不是构造函数
使用Google Maps API创建项目Vue.js+类型脚本,尝试将infobox.js(npm package Google Maps infobox window)库导入到控制台中,并在控制台中获取错误: 未捕获的TypeError:InfoBox不是构造函数 库尚未键入,所以所有内容都保留为导入,不需要键入。我尝试了三种方法:Javascript 打字脚本+;谷歌地图API+;infobox.js未捕获类型错误:infobox不是构造函数,javascript,typescript,import,maps,Javascript,Typescript,Import,Maps,使用Google Maps API创建项目Vue.js+类型脚本,尝试将infobox.js(npm package Google Maps infobox window)库导入到控制台中,并在控制台中获取错误: 未捕获的TypeError:InfoBox不是构造函数 库尚未键入,所以所有内容都保留为导入,不需要键入。我尝试了三种方法: 导入*为信息框“谷歌地图信息框窗口” var InfoBox=require('google-maps-InfoBox-window') 使用手动模块/功能声
- 导入*为信息框“谷歌地图信息框窗口”
- var InfoBox=require('google-maps-InfoBox-window')
- 使用手动模块/功能声明制作*d.ts文件
InfoBox
constructor仍然没有找到。
在导入infobox.js之前,我已经导入了googlemaps(通过脚本标签)和RichMarker.js(通过require(“”))并且这些都是完美的。
有人能帮忙吗
此外,我还尝试向tsconfig.json添加“allowJs”:true
,但仍然没有任何结果
代码:
在寻找问题解决方案的过程中,我尝试了很多可能的方法和所有与infobox.js相关的npm包。 最后,我找到了“谷歌地图信息盒”(GoogleMapsInfobox),它没有详尽的描述,但至少有一个是有效的。此外,它甚至还有*.d.ts文件,可以在ts项目中提供适当的导入。 所以,我安装了这个依赖项,并在组件的导入部分添加了它
import InfoBox from 'google-maps-infobox';
并以这种方式使用它
//in some method (function)
let infoBox: InfoBox = new InfoBox({
content: //some html markup
});
infoBox.setPosition(mapObject.getPosition());
infoBox.open(this.map);
此外,这个包与require()import配合得很好,InfoBox对象的类型除外
//in some method (function)
let infoBox: InfoBox = new InfoBox({
content: //some html markup
});
infoBox.setPosition(mapObject.getPosition());
infoBox.open(this.map);