According to documentation, to have layer legend info available for your ArcGISDynamicMapServiceLayer you must call retrieveLegendInfo() method on this layer instance. Also it must be called in separate thread. The following seems to be good approach:
mapView.setOnStatusChangedListener(new OnStatusChangedListener() {
@Override
public void onStatusChanged(Object o, STATUS status) {
if (status == STATUS.LAYER_LOADED) {
if (o instanceof ArcGISDynamicMapServiceLayer) {
//retrieving legend info
new AsyncTask<Void, Void, Void>() {
protected Void doInBackground(Void... voids) {
dynamicLayer.retrieveLegendInfo();
return null;
}
}.execute();
});
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.