Home > @magiclane/maps-sdk > SocialOverlay > prepareReporting

SocialOverlay.prepareReporting() method

Prepares a report using the device's current high-accuracy position.

Validates position accuracy and rate limits, then generates a preparation ID for submitting a report via report(). Required for most report categories. The position must be classified as high-accuracy by the map-matching system to ensure report reliability.

Operates in two modes based on categId: - **Preparing mode** (categId = 0): Returns a preparation ID for use with report. The ID expires after a short time (typically minutes). - **Dry run mode** (categId ≠ 0): Tests if reporting is possible for the category without actually preparing. Returns error code as integer.

Signature:

static prepareReporting(input?: {
        dataSource?: any;
        categId?: number;
    }): number;

Parameters

Parameter

Type

Description

{ dataSource, categId, }

(not declared)

(Optional)

input

{ dataSource?: any; categId?: number; }

(Optional)

input properties:

  • Optional dataSource?: any
  • Optional categId?: number

Returns:

number

**Dry run mode** (categId ≠ 0): - GemError.suspended.id: Report rate limit exceeded - GemError.invalidInput.id: categId is not a valid category ID - GemError.notFound.id: No valid high-accuracy position available - GemError.required.id: dataSource type is not live **Preparing mode** (categId = 0): - GemError.suspended.id: Report rate limit exceeded - GemError.notFound.id: No valid high-accuracy position available - Positive integer: Preparation ID for use with report (valid for short duration)