Suite

Comment appeler une fonction anonyme lors du chargement de la carte


J'ai un code JS comme celui-ci auquel j'ai attribué une fonction anonymePhotosvariable dansmap.on("load", function() {}maintenant il semble que lePhotosn'invoque jamais ! comme même j'ai essayé de faire un simpleconsole.log("Est-ce que ça marche")il ne charge pas le journal !

J'utilise la deuxième fonction au lieu de la fonction intégrée d'ESRIesriRequête();puisque la fonction native prend déjàURLpour lire le fichier JSON du serveur mais je fais des points dynamiquement à la volée. donc j'ai du mal à utiliser ma propre fonction ici.

var photos; map.on("load", function() { domStyle.set(query("a.action.zoomTo")[0], "display", "none"); photos = function(){ for (var i = 0; i < projets.longueur; i++) { var point = new Point(projects[i].Longitude, projects[i].Latitude); var pointSymbol = new SimpleMarkerSymbol(); pointSymbol.setStyle(SimpleMarkerSymbol.STYLE_CIRCLE); pointSymbol .setSize(9) ; var pointInfoTemplate = new InfoTemplate(); pointInfoTemplate.setTitle("Détails du projet"); pointInfoTemplate.setContent("); var pointGraphic = new Graphic(point, pointSymbol).setInfoTemplate(pointInfoTemplate); points.push (pointGraphic); } pour (i = 0; i < points.length; ++i) { map.graphics.add(points[i]); } console.log(points); }; photos.then(addClusters, Erreur); });

Pouvez-vous s'il vous plaît me dire pourquoi cela ne fonctionne pas?


Votre ligne :

photos.then(ajouterClusters, erreur);

… n'appelle pas la fonction photos. Il faudrait rajouter des parenthèses comme ceci :

photos().then(addClusters, erreur);

Notez que vous ne pouvez appeler que.ensuite(… )sur une fonction qui renvoie un différé, vous pouvez donc avoir des problèmes avec cet appel de codeajouterClusterstrop.


Voir la vidéo: 15 Fonctions de Téléphone Incroyables Dont tu ne Connaissais Pas Lexistence (Octobre 2021).