This is the documentation of version 1.0.0-rc.4. Go to the latest version, 1.0.0-rc.5.
TomTom Maps for JavaScript
    Preparing search index...

    Type Alias PlacesModuleSerializableConfig

    PlacesModuleSerializableConfig: Omit<
        PlacesModuleConfig,
        "label"
        | "icon"
        | "connections"
        | "extraFeatureProps",
    > & {
        connections?: Omit<PlaceConnectionsConfig, "label"> & {
            label?: Omit<PlaceConnectionLabelConfig, "title">;
        };
        extraFeatureProps?: Record<string, FeaturePropValue>;
        icon?: Omit<PlaceIconConfig, "default" | "categoryIcons" | "mapping"> & {
            categoryIcons?: SerializableCustomImage<MapStylePOICategory>[];
            default?: SerializablePinIconConfig;
        };
        label?: SerializableFeatureLabelConfig<PlaceLabelConfig>;
    }

    The part of a PlacesModuleConfig that survives JSON, for saving getConfig() and replaying it with applyConfig().

    It leaves out what JSON cannot carry, which a replay adds back in code:

    • label.title as a function. A MapLibre expression serializes.
    • connections.label.title and icon.mapping, both functions.
    • extraFeatureProps entries that are functions. Fixed values serialize.
    • icon.default.image and icon.categoryIcons[].image as an HTMLImageElement. See SerializableCustomImage.
    const saved = JSON.stringify(places.getConfig());

    const state: PlacesModuleSerializableConfig = JSON.parse(saved);
    places.applyConfig({
    ...state,
    connections: {
    ...state.connections,
    label: { ...state.connections?.label, title: (connection) => `${connection.distanceMeters} m` },
    },
    });