Files
MapLibreParticleLab/integration/react-native/MapLibreParticlePackageConsumerTestHost/src/weatherStyle.ts
OpenAI Codex 59a48608fb
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
refactor: make RN particle API field-renderer only
2026-09-10 09:12:44 +08:00

41 lines
1.3 KiB
TypeScript

import { createParticleFieldStyleFragment, particleFieldIds } from "@navsea/maplibre-particle-rn";
export const GSI_SOURCE_ID = "gsi-standard";
export const GSI_LAYER_ID = "gsi-standard";
const fieldRenderer = createParticleFieldStyleFragment();
export const weatherTestStyle = JSON.stringify({
version: 8,
sources: {
[GSI_SOURCE_ID]: {
type: "raster",
tiles: ["https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png"],
tileSize: 256,
maxzoom: 18,
attribution: "\u56fd\u571f\u5730\u7406\u9662 / GSI"
},
...fieldRenderer.sources
},
layers: [
{ id: "rn-basemap", type: "background", paint: { "background-color": "#10243a" } },
{ id: GSI_LAYER_ID, type: "raster", source: GSI_SOURCE_ID, paint: { "raster-opacity": 1 } },
...fieldRenderer.layers.map((layer) => {
if (layer.id !== particleFieldIds.particleLayer) return layer;
return {
...layer,
paint: {
...(layer.paint as Record<string, unknown>),
"raster-particle-active": true,
"raster-particle-particle-count": 4096,
"raster-particle-line-width": 1.5,
"raster-particle-particle-length": 0.012,
"raster-particle-particle-opacity": 0.9,
"raster-particle-trail-opacity": 0.8,
"raster-particle-trail-fade": 0.94,
},
};
})
]
});