<\/P>
Récemment, j'ai parlé un peu de certains des outils de visualisation dans l'ArcGIS API for JavaScript. Les versions récentes ont introduit Smart Mapping<\/A>, qui élimine une partie des conjectures autour de la génération de renderers basés sur vos données. Ils ont également introduit des fonctionnalités vraiment cool qui traitent du mélange des couleurs<\/A> basé sur les données dans votre carte. On arrive à un point où les devs n'auront plus beaucoup d'excuses pour des cartes moches<\/EM>.<\/P><\/P>Une chose que j'ai vue mentionnée à l'EsriUC la semaine dernière<\/A> était l'idée d'utiliser Smart Mapping pour générer votre renderer, expérimenter un peu avec et l'utiliser pour générer le JSON du renderer que vous pouvez utiliser plus tard sans avoir à invoquer les outils Smart Mapping. C'est totalement faisable, mais un peu flou sur la manière dont vous pourriez le faire. Alors regardons quelques techniques que vous pourriez vouloir utiliser.<\/P><\/P>
function saveLocal(data, field) { var key = location.pathname + '-' + field; localStorage.setItem(key, JSON.stringify(data));}function getLocal(field) { var key = location.pathname + '-' + field; var data = localStorage.getItem(key); if (data) { return JSON.parse(data); } else { return null; }}<\/PRE><\/P>Puis lorsque vous configurez Smart Mapping, vous pouvez vérifier localStorage pour un renderer existant et simplement utiliser ce renderer enregistré, en contournant complètement Smart Mapping.<\/P><\/P>function createRenderer(field) { \/\/_smart mapping functionality begins var data = getLocal(field); if (data) { console.log('charger le renderer depuis localStorage'); layer.setRenderer(jsonUtils.fromJson(data)); layer.redraw(); createLegend(map, layer, field); } else { smartMapping.createClassedColorRenderer({ layer: layer, field: field, basemap: map.getBasemap(), classificationMethod: "quantile" }).then(function (response) { console.log('enregistrer le renderer dans localStorage'); saveLocal(response.renderer.toJson(), field); layer.setRenderer(response.renderer); layer.redraw(); createLegend(map, layer, field); }); }}<\/PRE><\/P>Maintenant, c'est plutôt cool.<\/EM> Les données dans cet exemple ne sont pas trop compliquées, mais vous pouvez imaginer que si vous aviez un grand ensemble de données, cela pourrait prendre une seconde ou deux pour que Smart Mapping génère le renderer et cette méthode pourrait apporter une dose d'optimisation à votre application. Voici une
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.