<\/P>
Onlangs heb ik een beetje gesproken over enkele van de visualisatietools in de ArcGIS API for JavaScript. Recente releases hebben Smart Mapping<\/A> geïntroduceerd, wat het giswerk rond het genereren van renderers op basis van je data vermindert. Ze hebben ook een aantal echt coole functies geïntroduceerd die te maken hebben met het mengen van kleuren<\/A> op basis van de data in je kaart. Het komt op een punt waar ontwikkelaars niet veel excuses meer zullen hebben voor lelijke kaarten<\/EM>.<\/P><\/P>Een ding dat ik zag genoemd bij de EsriUC vorige week<\/A> was het idee om Smart Mapping te gebruiken om je renderer te genereren, er een beetje mee te experimenteren en het te gebruiken om de JSON van de renderer te genereren die je later kunt gebruiken zonder de Smart Mapping tools opnieuw aan te roepen. Dit is volledig mogelijk, maar een beetje onduidelijk hoe je dat zou doen. Laten we dus eens kijken naar een paar technieken die je misschien wilt gebruiken.<\/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>Dan wanneer je Smart Mapping instelt, kun je localStorage controleren op een bestaande renderer en gewoon die opgeslagen renderer gebruiken, waardoor Smart Mapping helemaal wordt omzeild.<\/P><\/P>function createRenderer(field) { \/\/_smart mapping functionaliteit begint var data = getLocal(field); if (data) { console.log('renderer laden vanuit 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('renderer opslaan in localStorage'); saveLocal(response.renderer.toJson(), field); layer.setRenderer(response.renderer); layer.redraw(); createLegend(map, layer, field); }); }}<\/PRE><\/P>Dat is best gaaf.<\/EM> De data in dit voorbeeld is niet al te ingewikkeld, maar je kunt je voorstellen dat als je een grote dataset hebt, het een seconde of zo kan duren voordat Smart Mapping de renderer genereert en deze methode kan een dosis optimalisatie aan je app toevoegen. Hier is een
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.