将esri-loader导入nativescript

时间:2018-12-12 18:44:08

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

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

1 个答案:

答案 0 :(得分:1)

,由于它依赖于浏览器,因此不能在nativescript应用中使用。该库没有任何外部依赖关系,但是它提供的用于加载ArcGIS API及其模块的功能希望可以在浏览器中运行。

尽管您可以声明为全局但esri不会渲染它寻找浏览器元素和承诺的地图,从而避免出现“找不到窗口”错误。

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