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();
});
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.