我正在尝试将多边形containsLocation函数集成到我的react应用程序中。目前看来,只有添加了maps.googleapis.com脚本标记的实际JS库才支持此功能。就是说,尝试使用maps.Polygon构造函数时,我一直收到no-undef错误(我目前正在使用具有默认设置的create-react-app)。反正有什么办法防止这种情况发生?
导致问题的代码:
var addedPoly = {
polygon: maps.Polygon({
paths: parsedCoords
})
}
答案 0 :(得分:0)
create-react-app
使用Eslint来整理您的代码。鉴于您已通过脚本标签包含了Google地图库,所以它在全球范围内可用,而create-react-app(具有eslint配置)则不希望使用全局变量,除非将它们声明为全局变量。
您可以在eslint documentation the no-undef error
中看到有两个选择可以解决此问题。首先,如果它是全局的,则可以通过window变量使用。
const maps = window.maps;
那样,它成为一个局部变量。
否则,您可以添加.eslintrc文件(如果尚不存在),在其中将地图设置为全局
"globals": {
"maps": true
}
最后但并非最不重要的一点是,您可以在文件顶部添加以下注释
/*global maps*/
这也将起作用。
第二个选项相对于其他选项的优势在于,您只需实现一次即可,另外两个选项暗示着每个使用maps
的文件中的更改。由您决定