多个javascript(不同版本)冲突
Multiple javascript(different version) conflict
我在同时使用两个API时遇到了一些问题,OneMap API和ESRI(Arcgis)API。
我的问题是,我想使用OneMap API,它基于ESRI(Arcgis)API,但OneMap的API中缺少一些功能,我需要这些功能来完成我的任务,例如featureLayer
。在ESRI(Arcgis)API中找到的featureLayer
正是我所需要的,我已经尝试包括两个API来调用featureLayer
,但会有错误,地图不会显示。我想这可能是一个冲突,因为我可以单独使用API。
我之所以选择使用OneMap,是因为它专注于新加坡,与ESRI的地图相比,地图上的信息更详细/更新。
那么,当使用我上面提到的2 API时,有没有一种方法可以防止这种冲突?或者在函数需要时,是否需要指定何时使用哪种API?
编辑:这是错误消息,
Uncaught TypeError: Cannot read property 'dojo' of undefined
Uncaught TypeError: Object #<Object> has no method '_loadPath'
根据错误消息,您的一个库似乎需要Dojo库。在包含其他两个库之前,您应该先尝试包含它。
一旦它被包含在其他库之前,您应该会看到这些错误消息消失。
将创建映射的代码本身需要包含在DojodomReady插件中:
<script>
require(["esri/map", "dojo/domReady!"], function(Map) {
// code to create the map and add a basemap will go here
});
</script>
我不知道这些库中任何一个的具体情况,但这似乎至少应该让你克服这些错误(可能会出现一些新的错误,但我们可以在它们发生时处理它们)。
根据ArcGIS站点的一个示例,Dojo或其某些部分可能已经包含在内。在包含库的地方检查一下,然后在dom ready上加载地图(您还需要包含地图样式并创建一个HTML元素来保存地图(在这种情况下,是一个ID为"mapDiv"的div:
<script src="http://js.arcgis.com/3.7/"></script>
<script>
var map;
require(["esri/map", "dojo/domReady!"], function(Map) {
map = new Map("mapDiv", {
center: [-56.049, 38.485],
zoom: 3,
basemap: "streets"
});
});
</script>
相关文章:
- 多个javascript(不同版本)冲突
- 包括JQuery的特定版本和插件,而不与页面冲突'的JavaScript库
- jquery.min.js版本冲突在asp.net网站中不起作用
- JQuery版本与Div搜索效果冲突
- jquery版本在1.8到1.11之间存在冲突
- 尝试使用 Tipue Search 4.0 时,jquery 和 jquery 移动版本之间可能存在冲突
- Drupal - Jquery 更新版本与灯箱冲突
- Jquery 版本冲突 Web 主机
- JQuery image.mapster 与其他 jquery 版本发生冲突
- 加载插件时不同版本的 jQuery 冲突
- 在一个页面上拥有多个版本的jquery不冲突的古老困境
- 使用不同的Jquery版本而不发生冲突
- 如何在Impact.js版本的Box2D中过滤冲突
- Node.js版本冲突
- 避免JavaScript插件版本冲突
- Portlet中的YUI版本冲突问题
- x - edit - typehead版本(?)冲突
- JQuery:不同的版本冲突-有没有办法隔离版本
- ngRoute错误,版本冲突
- 注入jQuery, jQuery UI和插件,没有版本冲突