...
Submitting various types of map reports using the
- (void)submitReport:(nonnull NMMapReport *)mapReport
method.Adding, removing, and submitting map events, checking for pending events and their submission status.
Reporting and managing map errors, checking for pending errors and their submission status.
Tracking the submission status of events and errors.
...
Blocked streets
Incomplete addresses
Missing addresses
Missing barriers
Missing speed limits
Missing streets
Missing stations
Missing stops
One-way roads
Wrong turns
Incorrect roundabouts
To submit a new report, obtain an instance of the MapReportsManager
using the Sdk.getMapReportsManager()
method, then create a report and call the submitReport
method:
Code Block | ||
---|---|---|
| ||
NMMapReportsManager *manager = sdk.mapReportsManager; NMMapCoordinates *reportLocation = sdk.navigationService.currentPosition.coordinates; NMMapReportAccident *report = [[NMMapReportAccident alloc] initWithLocation:location accidentType:NMAccidentTypeMajor]; report.comment = @"This building does not have an address"; [manager submitReport:report]; |
...
To listen for report submission events, add the NMMapReportsListener
interface and add it to the manager using the - (void)addMapReportsListener:(nonnull id<NMMapReportsListener>)listener
method.
The following notifications can be received:
...
It’s also possible to check if a particular event or error is being submitted at the moment using the
- (BOOL)isEventSubmissionInProgress:(nonnull NSString *)reportId
and
- (BOOL)isErrorSubmissionInProgress:(nonnull NSString *)reportId
methods.
To check for reports that haven’t been submitted yet, use the
- (BOOL)hasPendingMapEvents
or hasPendingMapReports
or
- (BOOL)hasPendingMapErrors
methods.
If either of these methods returns true, the corresponding reports can be submitted using the
- (void)submitPendingMapEvents
and submitPendingMapReports
and
- (void)submitPendingMapErrors
methods.
Local copies of reports can be removed using the
- (void)removeMapEvent
and removeMapReport
:(nonnull NSString *)reportId
and
- (void)removeMapError:(nonnull NSString *)reportId
methods.
To get the number of existing reports, the getMapEventCount
and getMapErrorCount
- (NSInteger)mapEventsCount
and
- (NSInteger)mapErrorsCount
methods can be used. An existing report can be retrieved by its index using the getMapEvent
and getMapError
- (nullable NMMapReport *)mapEventWithIndex:(NSInteger)index
and
- (nullable NMMapReport *)mapErrorWithIndex:(NSInteger)index
methods.