pour calculer la distance entre le point de départ et le point d'arrivée en ligne droite. Je fais un peu de
bidouillage moche pour arrêter l'interaction de dessin après un seul segment de ligne, car dessiner une seule fois avec l'outil Draw est un comportement un peu étrange (
à mon avis). Si vous vouliez suivre la distance totale des segments de la polyligne pendant qu'ils sont dessinés, c'est un peu plus complexe et vous devriez mettre à jour le point de départ avec le dernier point d'arrivée et accumuler les distances au fur et à mesure. Cela ressemble à une jolie fonction
reduce. Je vous laisse cet exercice. Si je passais plus de temps là-dessus, je pourrais séparer une partie de la logique ici en méthodes auxiliaires et peut-être nettoyer certains écouteurs, mais pour l'instant, ça fonctionne assez bien.<\/P>
<\/P>
La dernière chose que vous devez faire est en fait de rendre ces composants sur la page.<\/P>
<\/P>
\/\** @jsx React.DOM *\/\ndefine([\n 'react',\n 'dojo/query',\n 'dojo/dom',\n 'dojo/dom-construct',\n '.\/components\/Locator',\n '.\/components\/DrawTools'\n], function(\n React,\n query, dom, domConstruct,\n Locator, DrawTools\n) {\n var createContainer = function() {\n var c = query('.widget-container');\n if (c.length) {\n return c.shift();\n }\n var container = domConstruct.create('div', {\n className: 'widget-container'\n }, dom.byId('map_root'), 'first');\n return container;\n };\n var addContainer = function(map) {\n React.render(\n <div>\n <Locator map={map} \/>\n <DrawTools map={map} \/>\n <\/div>,\n createContainer());\n };\n return {\n addContainer: addContainer\n };\n});<\/PRE>C'est ici que React va rendre les composants dans l'élément DOM défini sur la page et je peux passer la carte à mes widgets en tant que propriétés. Je n'ai pas vraiment parlé des props ou propTypes, mais vous pouvez lire plus sur leur fonctionnement ici. Voici aussi un bon article sur Propriétés vs État.<\/P><\/P>Commencez à bidouiller<\/H2>Vous pouvez voir une démo de cette application en action ici. Au cas où vous l'auriez manqué, le code source est ici.<\/P>Comme vous pouvez le voir, c'est juste un autre exemple montrant qu'il est possible d'intégrer n'importe quelle bibliothèque ou framework de votre choix dans vos applications ArcGIS API for JavaScript. Il y a certaines parties de Dojo que vous devez utiliser (et certaines sont très pratiques, comme dojo/topic), mais au-delà de cela, ce n'est pas trop difficile de mélanger vos bibliothèques JavaScript. React n'est pas un framework complet, et les développeurs FB seront les premiers à vous le dire, mais il fait très bien le V dans MVC. Alors bidouillez les amis et surtout amusez-vous !<\/P><\/P>Pour plus d'astuces geodev, consultez mon blog.<\/P><\/BODY><\/HTML>