问题标签 [esri-loader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
69 浏览

typescript - 为什么在 Typescript 中可以通过名称访问 .then() 中的数组元素?

我已经开始将我们的 ArcGis JS 模板集成到我们正在使用的 webpack 构建管道中。

为了实现这一点,我们需要稍微重构一下 quiet 并需要开始使用 Esri-Loader ( https://github.com/Esri/esri-loader ),它本质上将 dojos 的 require 函数包装到一个 Promise 中。

一个非常简单的示例如下所示:

起初我尝试编写这样的调用.then().then((Map, MapView, Basemap) => { ... },但收到以下编译器错误:

'(Map: any, MapView: any, Basemap: any) => void' 类型的参数不可分配给 '(value: any[]) => void | 类型的参数 许诺”。

好的,所以签名不加起来:

所以正确的方法是像上面这样:.then(([Map, MapView, Basemap]) => { ... }

而此时我的理解已经到了极限。在下面的方法主体中,我可以调用它们的名字MapMapViewBaseMap我希望这是一个数组,我必须像 javascript-ish 一样访问它Arguments[0][0]Arguments[0][1]依此类推,因为我确实只传入了一个对象类型Array<any>

请向我解释为什么以及如何做到这一点,或者我在这里做错了什么。

0 投票
1 回答
315 浏览

vue.js - 将 esri-loader 导入 nativescript

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

我的错误如下

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

0 投票
1 回答
627 浏览

angular - Internet Explorer 中的 arcgis js API 4.7 错误-“未检测到本机 wasm 支持”

我在 Angular 6 应用程序中使用 ArcGIS JS API 4.7。

并使用 esri-loader 在我的角度服务/组件中访问 esri 方法

使用以下版本..

似乎 esri 在 webassembly 中实现了部分 js 方法。因此浏览器使用以下文件

这专门用于 JsonUtils.fromJson() 方法

https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-jsonUtils.html#fromJSON

该代码似乎在其他浏览器中运行良好,但是我在所有版本的 IE 中都出现错误,包括 Edge

在 IE 11.2791.12 中测试

边缘 38.14393.2068.0

以下是我的代码

以下是错误

过去有人遇到过吗?

0 投票
1 回答
171 浏览

angular - 如何让 esri 地图视图使用 Angular 8 中的服务进行更改?

当您到达滚动间谍中的另一张幻灯片时,我正在尝试更改地图。我无法从服务中获取一个数字以用作数组的索引。我把这个项目放在了stackblitz上。这是 app.component.ts

这是html

这就是服务

0 投票
1 回答
203 浏览

javascript - mapkitJS 和 ArcGIS esri-loader 的 dojo multipleDefine 错误

我不知道哪里MapkitJSesri-loader问题,在一起有问题。从这里和其他地方的研究来看,似乎与另一个包可能存在命名冲突。这是已解决问题的链接esri-loader。我阅读了该链接上的所有页面。

我有一个同时使用MapkitJs和的网站ArcGISMapkit在我带进来之前一直工作得很好ArcGIS。这两个脚本都是通过提供者延迟加载的。在阅读了这些问题之后,我等到Mapkit被初始化后再加载ArcGIS脚本。

我注意到的第一件事是旋转地图的能力Mapkit立即消失了(它加载,然后在大约 1/2 秒后将其删除)。那是我第一次暗示有些事情是矛盾的。

如果我删除加载脚本esri-loader的 call loadModules,则旋转再次起作用。如果我再次添加它(即使我没有指定要添加的任何模块),它也会中断Mapkit旋转。

这是主要问题。如果我先创建mapkit地图,然后尝试创建 ArcGIS 地图,则会弹出错误。但是如果我先创建一个ArcGIS地图,然后再创建mapkit,就可以了(除了apple mapkit地图不能旋转)。

我希望我能提供更多信息,但我什至不知道从哪里开始。请问你需要什么...

我上传了一个演示页面到我的网站。如果您访问https://dieselplanning.com/,它将首先加载 Esri 地图。它有效,您可以切换地图(侧边栏中的左下按钮)。您还将在苹果地图上看到右下角的罗盘上升一秒钟,因为它接受旋转,然后在创建后不久决定不旋转。

但是,如果您访问https://dieselplanning.com/test,它与页面完全相同ao,但它首先会创建一个 mapkit 地图。这会在您交换地图时产生问题。

在此处输入图像描述

0 投票
1 回答
240 浏览

angular - Angular ArcGIS esri-loader 中的geographicToWebMercator 和投影多边形

如何在 Angular 10 中使用“geographicToWebMercator”来绘制具有环值的多边形。我指的是文档中提供的示例, https://developers.arcgis.com/documentation/core-concepts/features-and-geometries/#polygons 并尝试将Angular中的功能与ArcGIS esri-loader一起使用。这是我所指的文档。 https://developers.arcgis.com/javascript/latest/guide/angular/

我试图获得投影的多边形点。但返回错误的值。

/更新代码*****/

0 投票
0 回答
955 浏览

arcgis-js-api - 获取代理属性“访问器”是代理目标上的只读且不可配置的数据属性,但代理未返回其实际值

我想用vue3和esri-loader做一个地图网站。

在使用 vue-composition-api 时,我将 esri-loader 生成的 Map 和 MapView 对象放入 reactive 并导出。但是在读取 MapView 的属性时发生了以下情况,我很茫然。

'get' on proxy:属性 __accessor__ 是代理目标上的只读且不可配置的数据属性,但代理未返回其实际值

截图 1

截图 2

0 投票
1 回答
541 浏览

angular - 刷新 Angular 10 ESRI 地图上的图层而不刷新整个地图

我在 Angular 10 中创建了一个 Esri 地图。用户可以从组按钮中选择地图上的图层。所以输入将是一个数组,例如:['0','1','2']。数字是地图图层编号。所有这些功能都运行良好,但我必须在不刷新整个地图的情况下添加图层。请在下面找到代码。

函数“onLayerChange()”来自组按钮。一旦触发事件,然后调用“ngOnInit()”,它会加载带有所选图层的地图。但是我们怎样才能只加载图层,而不是整个地图呢?谢谢。

0 投票
1 回答
247 浏览

angular - 在 Angular 10 中单击地图时获取图层的详细信息及其详细信息

在 Angular 10 中点击 ArcGIS 地图时,我们如何获取图层的详细信息。点击事件在地图上触发。例如:显示门牌号码的地图。在地图上单击其中一个门牌号时,我们如何获得门牌号。我必须在我的代码中使用“门牌号”来实现其他功能。

/更新代码/

我收到错误消息“未捕获的类型错误:无法读取未定义的属性 '_view'”

0 投票
1 回答
442 浏览

angular - ArcGIS 4.16 Angular中内容的弹出模板自定义功能

我正在尝试从服务返回的结果中在弹出模板中添加自定义内容。服务功能在 ngOninit() 或不属于弹出模板功能的自定义功能中工作。在弹出自定义模板功能中使用时,服务无法收集结果。

请在下面找到代码(仅包含主要部分),导入自定义服务。

形成要素层,弹出窗口应来自​​该层。

下面的函数 getcustomcontent() 从服务中收集详细信息。

当我使用 try-catch 时,它显示'TypeError:无法读取属性'customService' of null'。如何在弹出模板中使用服务?