我的应用程序提供了一个按钮,用于截取当前页面的屏幕截图,其中包括Mapbox地图(由nativescript-mapbox插件处理)。一切都在iOS上运行良好,但在Android上,地图不会渲染。
我从mapbox团队指出了这个示例,该示例解决了他们使用“常规”Android图形画布的问题,使用Mapbox Snapshot API提供了解决方案:https://github.com/mapbox/mapbox-gl-native/blob/master/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java#L52
由于我不是Java开发人员(我几乎无法处理{NS}部分:)),我不知道如何将代码转换为纯Javascript {NS}代码。
这就是我现在所拥有的:
var v = view;
var bmp = android.graphics.Bitmap.createBitmap(v.getMeasuredWidth(), v.getMeasuredHeight()+50, android.graphics.Bitmap.Config.ARGB_8888);
v.android.draw(new android.graphics.Canvas(bmp));
var source = new imageSource.ImageSource();
source.setNativeSource(bmp);
//saves image into Documents folder
var folder = fs.knownFolders.documents().path;
var fileName = "Test.png"
var path = fs.path.join(folder, fileName);
var saved = source.saveToFile(path, "png");
有关如何转换/使用其代码捕获整个视图的任何想法,包括地图?