<\/P>
Dus je bent druk bezig met je geweldige ArcGIS JavaScript-applicatie. Je hebt een paar mooie aangepaste tools, misschien heb je zelfs wat zoekmogelijkheden, dit ding ziet er cool uit<\/EM>. Je klikt op een feature op de kaart en je hebt alle belangrijke veldinformatie... behalve dat je cijfers ziet waar misschien waarden zouden moeten verschijnen? <\/P><\/P>Wat is dat in hemelsnaam? Wat betekent dat nummer eigenlijk? <\/EM> Dus je kijkt naar de kaartservice en ziet dat dit veld een domain<\/A> heeft gekoppeld. Misschien kijk je naar een andere applicatie waar deze service wordt bewerkt en merk je dat de attribute inspector<\/A> in de editor de juiste domeinwaarden toont en nu krab je je gewoon achter het hoofd en vraag je je af hoe je die waarden kunt krijgen. Maak je geen zorgen, ze zijn er...ergens<\/EM>.<\/P><\/P>
var fieldMap = {};featureLayer.on('load', function() { \/\/- doorloop de velden van de Layer featureLayer.fields.filter(function(x) { return !!x.domain; \/\/- forceer waarde naar boolean. we zijn hier alleen geïnteresseerd in domeinen }).map(function(x) { \/\/- map velden met domeinen fieldMap[x.name] = {}; \/\/- hash table fieldMap[x.name].values = {}; \/\/- zal domeinwaarden bevatten fieldMap[x.name].alias = x.alias; \/\/- mooie weergavenaam x.domain.codedValues.map(function(a) { \/\/- map over de codedValues fieldMap[x.name].values[a.code] = a.name; \/\/- sla domein op }); });});<\/PRE><\/P>De sleutel hier is om over de velden van de laag te itereren en de gecodeerde waarde als sleutel voor de domeinwaarde op te slaan. Dit maakt het opzoeken van de waarden veel eenvoudiger in de volgende stap.<\/P><\/P>We hebben een methode die de inhoud van het popup definieert wanneer erop wordt geklikt. We kunnen de hash table van domeinwaarden gebruiken om dit een eenvoudige taak te maken.<\/P><\/P>function getTextContent(graphic){ \/\/- krijg sleutels van de attributen \/\/- *Opmerking - mogelijk heb je een shim nodig voor je browser var elems = Object.keys(graphic.attributes).map(function(x) { var attr = graphic.attributes;<\/<X> var field = fieldMap;<\/<X> if (field) { return "<b>" + field.alias + "<\/_b>: " + field.values[attr]; } else { return false; } }).filter(function(x) { return x; }); \/\/- alleen geldige resultaten teruggeven return elems.join('<br \/>');}<\/PRE><\/P>In dit voorbeeld gebruiken we
Je kunt een volledige demo van dit voorbeeld zien
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.