J'utilise ArcGIS JSAPI 4.12 et je souhaite utiliser des illusions spatiales pour dessiner des symboles militaires sur une carte.
Lorsque j'ajoute milsymbol.js
au script, la console renvoie une erreur
SyntaxError non capturée: impossible d'utiliser l'instruction d'importation en dehors d'un module`
donc j'ajoute type="module"
au script, puis il revient
Uncaught ReferenceError: ms n'est pas défini
Voici mon code:
<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>
Donc, que j'ajoute type="module"
ou non, il y a toujours des erreurs. Cependant, dans le document officiel de Spatial Illusions, il n'y en a pas type="module"
dans le script. Je suis maintenant vraiment confus. Comment parviennent-ils à le faire fonctionner sans ajouter le type?
Fichier milsymbol.js
import { ms } from "./ms.js";
import Symbol from "./ms/symbol.js";
ms.Symbol = Symbol;
export { ms };
require()
. Découvrez cette vidéo