我正在使用ArcGIS JSAPI 4.12,并希望使用空间幻觉在地图上绘制军事符号。
当我将milsymbol.js
添加到脚本时,控制台返回错误
未捕获的语法错误:无法在模块外使用导入语句
所以我在脚本中添加type="module"
,然后它返回
未捕获的引用错误:ms未定义
这是我的代码:
<link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/css/main.css"><script src="https://js.arcgis.com/4.12/"></script><script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script>
<script>require(["esri/Map","esri/views/MapView","esri/layers/MapImageLayer","esri/layers/FeatureLayer"], function (Map, MapView, MapImageLayer, FeatureLayer) {
var symbol = new ms.Symbol("SFG-UCI----D", { size: 30 }).asCanvas(3);var map = new Map({basemap: "topo-vector"});
var view = new MapView({container: "viewDiv",map: map,center: [121, 23],zoom: 7});});</script>
所以,不管我加不加type="module"
,总是有错误的。然而,在空间幻觉的官方文档中,脚本中没有任何type="module"
。我现在真的很困惑。他们是如何在不添加类型的情况下让它工作的?
import { ms } from "./ms.js";
import Symbol from "./ms/symbol.js";ms.Symbol = Symbol;
export { ms };