MVFv3 API Documentation
    Preparing search index...

    An MVF will contain a single ManifestSchema object, which will be a ManifestCollection object with a single feature, containing the ManifestProperties of the MVF. In the bundle, this will be a file called manifest.geojson.

    The manifest has references to all of the other files in the bundle. In a zip file, all files will be in folders described in the contents property of the manifest, but it would also be correct to have the manifest file at some URL and for contents to describe relative paths to the other files.

    ├── manifest.geojson
    ├── geometry/
    │ ├── 1234567890.geojson
    │ ├── 1234567891.geojson
    │ ├── 1234567892.geojson
    │ └── 1234567893.geojson
    └── floors.geojson

    this would correspond to a contents property of:

    [
    { type: 'file', name: 'manifest.geojson' },
    { type: 'folder', name: 'geometry', children: [
    { type: 'file', name: '1234567890.geojson' },
    { type: 'file', name: '1234567891.geojson' },
    { type: 'file', name: '1234567892.geojson' },
    { type: 'file', name: '1234567893.geojson' },
    ] },
    { type: 'file', name: 'floors.geojson' },
    ]

    with the expectation that floors.geojson will contain a FloorsSchema object, with a FloorsCollection containing four features, one with each of those Ids.

    type ManifestSchema = {
        manifest: {
            features: {
                geometry: { coordinates: [number, number]; type: "Point" };
                properties: {
                    contents: (
                        | { name: string; type: "file" }
                        | {
                            children: (
                                | (
                                    { name: string; type: "folder"; children: (any | { name: string; type: "file"; })[]; }
                                )
                                | { name: ...; type: ... }
                            )[];
                            name: string;
                            type: "folder";
                        }
                    )[];
                    name: string;
                    time: string;
                    version: "3.0.0";
                    defaultFloor?: `f_${string}`;
                    language?: string;
                    mapId?: string;
                    naturalBearing?: number;
                    orgId?: string;
                    tzid?: `${string}/${string}`;
                };
                type: "Feature";
            }[];
            type: "FeatureCollection";
        };
    }
    Index

    Properties

    Properties

    manifest: {
        features: {
            geometry: { coordinates: [number, number]; type: "Point" };
            properties: {
                contents: (
                    | { name: string; type: "file" }
                    | {
                        children: (
                            | (
                                { name: string; type: "folder"; children: (any | { name: string; type: "file"; })[]; }
                            )
                            | { name: ...; type: ... }
                        )[];
                        name: string;
                        type: "folder";
                    }
                )[];
                name: string;
                time: string;
                version: "3.0.0";
                defaultFloor?: `f_${string}`;
                language?: string;
                mapId?: string;
                naturalBearing?: number;
                orgId?: string;
                tzid?: `${string}/${string}`;
            };
            type: "Feature";
        }[];
        type: "FeatureCollection";
    }