use of com.mapbox.bindgen.Expected in project maps by rnmapbox.
the class RCTMGLShapeSource method getClusterExpansionZoom.
public void getClusterExpansionZoom(String callbackID, int clusterId) {
if (mSource == null) {
WritableMap payload = new WritableNativeMap();
payload.putString("error", "source is not yet loaded");
AndroidCallbackEvent event = new AndroidCallbackEvent(this, callbackID, payload);
mManager.handleEvent(event);
return;
}
SourceQueryOptions options = new SourceQueryOptions(null, Expression.eq(Expression.get("cluster_id"), Expression.literal(clusterId)));
RCTMGLShapeSource _this = this;
mMap.querySourceFeatures(getID(), options, new QueryFeaturesCallback() {
@Override
public void run(@NonNull Expected<String, List<QueriedFeature>> features) {
if (features.isValue()) {
QueriedFeature cluster = features.getValue().get(0);
mMap.queryFeatureExtensions(getID(), cluster.getFeature(), "supercluster", "expansion-zoom", null, new QueryFeatureExtensionCallback() {
@Override
public void run(@NonNull Expected<String, FeatureExtensionValue> extension) {
if (extension.isValue()) {
Object contents = extension.getValue().getValue().getContents();
if (contents instanceof Long) {
WritableMap payload = new WritableNativeMap();
payload.putInt("data", ((Long) contents).intValue());
AndroidCallbackEvent event = new AndroidCallbackEvent(_this, callbackID, payload);
mManager.handleEvent(event);
return;
} else {
callbackError(callbackID, "Not a number", "getClusterExpansionZoom/queryFeatureExtensions2");
return;
}
} else {
callbackError(callbackID, extension.getError(), "getClusterExpansionZoom/queryFeatureExtensions");
return;
}
}
});
} else {
callbackError(callbackID, features.getError(), "getClusterExpansionZoom/querySourceFeatures");
return;
}
}
});
}
Aggregations