赞
踩
在使用 ArcGIS Maps SDK for JavaScript 过程中,有时候会使用不同版本。
后来发现,不同版本引入方式变化还挺大,于是进行了各种尝试,这里记录一下所有版本的引入。
本文包含版本介绍、4.19
及以前版本、4.20
版本、4.21
及之后版本以及测试代码。
经过完整测试,主要分为三个阶段,4.19 以及之前版本、4.20 版本以及 4.21 以及之后版本。
下载了以下四个版本,基本满足测试需求。
版本资源:
下载地址:
普通 JavaScript 引入使用的话,需要 dojo
文件夹,如果是 es6
引入的话,需要 @arcgis
文件夹。
本文测试以普通 JavaScript 引入方式。
4.5-4.19 方式相同,这里以 4.5
为例。
1. 首先解压文件夹。
2. 打开 4.5/dojo/dojo.js
可以看到,代码是混淆的,这里可以格式化一下,看起来稍微方便一点。
代码格式化:
3. 在文件中搜索 HOSTNAME_AND_PATH_TO_JSAPI
将 baseUrl 改为自己的服务地址:http://localhost:8080/4.5/dojo
。
4. 引入方式
<link rel="stylesheet" href="http://localhost:8080/4.5/esri/themes/light/main.css"/>
<script src="http://localhost:8080/4.5/dojo/dojo.js"></script>
可以加载地图。
4.20 版本跟 4.19 类似,但是引入的 js,修改为 4.20/init.js
。
当然修改的文件也相应的改为 init,js。
1. 打开 init.js,并格式化
2. 搜索 HOSTNAME_AND_PATH_TO_JSAPI
将 baseUrl
改为自己的服务地址:http://localhost:8080/4.20/esri/
。
3. 引入方式
<link rel="stylesheet" href="http://localhost:8080/4.20/esri/themes/light/main.css"/>
<!-- 需要修改源码配置,引入方式改变,引入 init.js -->
<script src="http://localhost:8180/4.20/init.js"></script>
可以加载地图。
4.21 开始,已经不需要修改 js 文件了,直接按官方引入即可,目前最新版(4.28)也是这样引入。
<!-- 4.21 开始(包括最新版4.28)不需要修改配置,引入 init.js -->
<script src="http://localhost:8080/4.21/init.js"></script>
可以整加载地图。
这里提供一下过程测试代码。
<html lang="en"> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"/> <title>test version</title> <!-- <link rel="stylesheet" href="https://js.arcgis.com/4.28/esri/themes/light/main.css" />--> <!-- <script src="https://js.arcgis.com/4.28/"></script>--> <!-- 需要修改源码配置,引入 dojo.js --> <link rel="stylesheet" href="http://localhost:8080/4.5/esri/themes/light/main.css"/> <script src="http://localhost:8080/4.5/dojo/dojo.js"></script> <!-- <script src="http://localhost:8180/4.19/dojo/dojo.js"></script> --> <!-- 需要修改源码配置,引入方式改变,引入 init.js --> <!-- <script src="http://localhost:8180/4.20/init.js"></script> --> <!-- 4.21 开始(包括最新版4.28)不需要修改配置,引入 init.js --> <!-- <script src="http://localhost:8180/4.21/init.js"></script> --> <style> #viewDiv { padding: 0; margin: 0; height: 100%; width: 100%; background: transparent; } html, body { padding: 0; margin: 0; height: 100%; width: 100%; } </style> <script> require([ "esri/Map", "esri/Basemap", "esri/views/SceneView"], ( Map, Basemap, SceneView) => { const map = new Map({ basemap: "satellite", ground: 'world-elevation', }); new SceneView({ container: "viewDiv", map: map, center: [116.37, 39.88], zoom: 10 }); }); </script> </head> <body> <div id="viewDiv"></div> </body> </html>
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。