【问题标题】:importing esri-loader into nativescript将 esri-loader 导入 nativescript
【发布时间】:2018-12-12 18:44:08
【问题描述】:

我正在尝试将 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 和地图吗?

【问题讨论】:

  • 我个人没有使用过esri-loader,但您将无法在 NativeScript 环境中使用任何依赖于浏览器特定功能的库。仍然在全局级别创建窗口对象可能会绕过此问题global.window = {};
  • 是的,我什至不确定这是否可能,我认为可能不是。

标签: vue.js nativescript arcgis-js-api esri-loader


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2016-04-02
    • 2019-06-27
    • 2020-11-07
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 2017-03-03
    相关资源
    最近更新 更多