0

我正在尝试将 esri-loader 导入我的 nativescript vue 应用程序并显示一个简单的地图,但出现错误。下面是我的代码

<script>
import * as esriLoader from 'esri-loader'

export default {
  name: 'myMap',
  mounted: function () {
    esriLoader.loadModules(['esri/map'])
      .then(([Map]) => {
        // create map with the given options
        const map = new Map(this.$refs.map, {
          center: [-56.049, 38.485],
          zoom: 3,
          basemap: 'gray',
        });
      })
      .catch(err => {
        // handle any script or module loading errors
        console.error(err);
      });
  }
}
</script>

我的错误如下

JavaScript error:
file:///app/vendor.js:173:29: JS ERROR ReferenceError: Can't find variable: window
(CoreFoundation) *** Terminating app due to uncaught exception 'NativeScript 
encountered a fatal error: ReferenceError: Can't find variable: window

有没有人在本机脚本中成功加载了 esri-loader 和地图?

4

1 回答 1

1

不,它不能在 nativescript 应用程序中使用,因为它依赖于浏览器该库没有任何外部依赖项,但它公开的用于加载 ArcGIS API 的函数及其模块需要在浏览器中运行。

尽管您可以通过将其声明为全局来逃避“找不到窗口”错误,但 esri 不会渲染它寻找浏览器元素和承诺的地图。

但是您可以在服务器上呈现的其他应用程序中使用此库。作为参考,您可以访问这里

于 2018-12-13T04:45:44.763 回答