react-native-maps - AIRGoogleMapManager.pointForCoordinate 是用 2 个参数调用的,但需要 3 个参数

react-native-maps - AIRGoogleMapManager.pointForCoordinate was called with 2 arguments but expects 3 arguments

按照安装说明中的说明设置 react-native-maps。除 MapView.pointForCoordinate() 方法外,一切都按预期工作。

每当我使用该方法时,我都会收到以下错误:

AIRGoogleMapManager.pointForCoordinate was called with 2 arguments but expects 3 arguments. If you haven't changed this method yourself, this usually means that your versions of the native code and JavaScript code are out of sync. Updating both should make this error go away.

使用的版本: "react-native": "0.54.4", "react-native-maps": "0.21.0"

正在 iOS 模拟器上测试。

我尝试过从头开始重建项目。

有什么想法吗?

react-native-mapssources 中存在错误(link 到有问题的行)。在那一行应该是这样的:

this._runCommand('coordinateForPoint', [point, (err, res) => {
      if (err) {
        reject(err)
      } else {
        resolve(res)
      }
    }])

所以,我推荐你:

  1. 分叉这个库
  2. 修正那条线
  3. 提交更改并将更改推送到 github
  4. 的存储库
  5. 运行 npm i github:{YOUR_GITHUB_USERNAME}/react-native-maps
  6. 运行 react-native start --reset-cache 确保它不会 运行 缓存文件
  7. 再试一次 pointForCoordinate

对了,coordinateForPoint method也有同样的问题,修复步骤也是一样的。

注:变化与pointForCoordinate方法相同但多了一行