mapkitJS 和 ArcGIS esri-loader 的 dojo multipleDefine 错误

dojo multipleDefine error with mapkitJS and ArcGIS esri-loader

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

上的所有页面

我有一个同时使用 MapkitJsArcGIS 的网站。在我引入 ArcGIS 之前,Mapkit 一直运行良好。这两个脚本都是通过提供程序延迟加载的。阅读有关问题后,我等到 Mapkit 初始化后再加载 ArcGIS 脚本。

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

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

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

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

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

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

如果您研究这些多个定义,通常是另一个库造成了问题,常见的答案是在这些库之后加载 ArcGis 脚本或使用 dojo 加载库。

我意识到这里的问题是,当您制作 Mapkit 地图时,它会加载更多脚本。所以加载 mapkit API 加载脚本,然后创建 mapkit 地图加载更多脚本。所以我要做的就是加载 mapkit API。创建地图,然后销毁它,然后加载 ArcGis API。之后就可以了。

当前的问题是确定 create Map 何时完成所有调用,它没有方法或侦听器来告诉您何时完成。