@navsea/maplibre-particle-rn
当前版本:13.4.1-particle.5。Android Native 必须配套 cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5。本包是 React Native 的薄控制面,不负责 Map 组件、provider、HTTP、manifest、下载、缓存或 NavSea 业务策略。
当前推荐主链:QBIN V4
宿主负责取得并缓存 QBIN 文件,然后只把本地绝对路径或 file:// URI 交给 RN/Native:
await FieldRuntime.attach(reactTag);
await FieldRuntime.submitEncodedField(reactTag, fieldKey, metadata, profileContract, qbinFileUri);
await FieldRuntime.setEncodedColorBinding(reactTag, colorBinding);
await FieldRuntime.setEncodedParticleBinding(reactTag, particleBinding);
await FieldRuntime.setEncodedForecastTime(reactTag, timestampMs);
Android 链路为:FieldRuntime.submitEncodedField → WeatherRuntimeBridgeModule → WeatherRuntime.submitEncodedField → JNI → RasterArraySource::submitEncodedField → QbinV2Decoder::decode。因此 QBIN 解码发生在 MapLibre Native,不在 JS/TS。
V4 主要公共方法:submitEncodedField、setEncodedColorBinding、setEncodedParticleBinding、setEncodedForecastTime、setEncodedForecastPlaybackState、setEncodedForecastPlaybackSpeed、clearEncodedField。ColorBinding 支持 SCALAR、VELOCITY_COMPONENT、DIRECTION_ANGLE;ParticleBinding 支持 U/V vector components 或 direction angle。
V3 canonical 兼容
submitField(metadataJson, FieldPayloadRefs)、clearFields、旧 renderer 参数接口仍保留,用于历史 Consumer/Test Host 对照。新 NavSea 接入不要以 V3 submitField 作为新主链。
Map / Camera
Map 与 Camera 直接从 @maplibre/maplibre-react-native@11.3.6 使用。本包把 MLRN 作为 peer dependency,不转导出 MapLibre React Native。
Android 发布
RN tgz:
https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.4.1-particle.5.tgz
Native Maven repository:
https://pbf.jpcn.ccwu.cc/maven
Native coordinate:
cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.5
Expo plugin 与 android/build.gradle 必须指向同一 .4。正常 Consumer 不复制 AAR、不依赖 MapLibreParticleLab 源码路径,也不以 Maven Local 作为公网验证主路径。完整 Linux 发布与 Win11 验证流程见 docs/50_Step记录/STEP-080_Android_AAR与RNTestHost标准构建流水线_v2.md。