使用 google.maps 的打字稿错误 - 'google' 未定义

typescript error using google.maps - 'google' is not defined

我在package.json

中有以下内容
"@types/google.maps": "~3.48.3",

// 在我的 tsx 文件中,顶部的第一行是

/// <reference types='google.maps' />

但是在访问 google.maps.MapMouseEvent 时 - 我收到错误 'google' 未定义。 第 980:43 行:'google' 未定义 no-undef

第 980 行是

onMarkerDragEnd = async (mapMouseEvent: google.maps.MapMouseEvent) => {

//我也试过了

/// <reference path='../../../../node_modules/@types/google.maps' />

// 我也试过 tsconfig.json

  "compilerOptions": {
    "types": [
      "google.maps"
    ]
  }

但错误依然存在。我正在使用

编译打字稿
react-app-rewired build

正在寻找有关如何在 typescript 中使用 @types/google.maps 的任何提示。

no-undef 实际上是一个 eslint 错误,可以用 https://eslint.org/docs/user-guide/configuring/language-options#specifying-globals

修复
{
    "globals": {
        "google": "readonly"
    }
}

使用最新版本的打字稿,除了 package.json 中的以下内容外,您不需要任何其他内容。

  devDependencies: {"@types/google.maps": ...}

没有三重斜杠引用,没有导入,没有 compilerOptions.types。

请参阅 https://codesandbox.io/embed/github/googlemaps/js-samples/tree/sample-marker-simple 示例。