Maps SDK for C++ 1.0.0
Loading...
Searching...
No Matches
gem::MapViewExtensions Class Reference

MapCustomization object. More...

Inheritance diagram for gem::MapViewExtensions:
Collaboration diagram for gem::MapViewExtensions:

Public Member Functions

void setMinimumAllowedZoomLevel (int zoomLevel) noexcept
 Set the minimum allowed zoom level.
int getMinimumAllowedZoomLevel () const noexcept
 Get the minimum allowed zoom level.
MapViewExtensionssetMaximumAllowedZoomLevel (int zoomLevel) noexcept
 Set the maximum allowed zoom level.
int getMaximumAllowedZoomLevel () const noexcept
 Get the maximum allowed zoom level.
int getHighlightGroupItemIndex (int idx, int highlightId=0) const noexcept
 Get group highlighted item index for the given highlighted item index ( in original list ).
MapViewExtensionssetNavigationRouteLowRateUpdate (bool enable) noexcept
 set navigation route low rate update
bool getNavigationRouteLowRateUpdate () const noexcept
 get navigation route low rate update
MapViewExtensionssetNavigationRouteUpdateRate (ENavigationRouteUpdateRate rate) noexcept
 set navigation route update rate
ENavigationRouteUpdateRate getNavigationRouteUpdateRate () const noexcept
 get navigation route update rate
MapViewExtensionssetLowEndCPUOptimizations (bool enable) noexcept
 Enable optimizations for low end CPU.
bool getLowEndCPUOptimizations () const noexcept
 Get low end CPU optimizations flag.
int getMarkersFromRouteGeometry (std::function< void(MarkerCollection, ERouteGeometryMarkerType)> collector, const DataBuffer &data) const noexcept
 Generate markers collection from route packed geometry.
std::pair< MarkerCollection, AbstractGeometryImagegetMarkersFromRouteInstructionGeometry (const DataBuffer &data) const noexcept
 Generate marker collection from route instruction packed geometry.
std::pair< RouteTrafficEventList, int > getMarkersFromRouteTrafficGeometry (std::function< void(MarkerCollection, ETrafficEventSeverity)> collector, const DataBuffer &data) const noexcept
 Generate markers collection from route traffic packed geometry.
int createTexture (IBitmap &bmp) const noexcept
 Create texture from the given bitmap.
int deleteTexture (int textureId) const noexcept
 Delete a texture previously created with createTexture.
int renderTexture (int textureId, const Rect &place) const noexcept
 Render bitmap in the map view.
int startTrackPositions (int updatePositionMs, const MarkerCollectionRenderSettings &settings, sense::DataSourcePtr ds={}) noexcept
 Start the sense data source improved position tracking on map by rendering a marker polyline between relevant map links points.
std::pair< CoordinatesList, int > getTrackedPositions () const noexcept
 Get the current tracked positions as a coordinates list.
bool isTrackedPositions () const noexcept
 Check if tracked position is started in the map view.
int stopTrackPositions () noexcept
 Stops the sense data source improved position tracking on map.
bool hasDataTransactionInProgress () const noexcept
 Check if the view has data transaction with cloud service in progress.

Detailed Description

MapCustomization object.

Implements share-read / write Api object over IMapViewExtensions.

Member Function Documentation

◆ createTexture()

int gem::MapViewExtensions::createTexture ( IBitmap & bmp) const
inlinenoexcept

Create texture from the given bitmap.

Parameters
[in]bmpBitmap data
Returns
On success, returns the texture id which can be used for rendering and deletion

◆ deleteTexture()

int gem::MapViewExtensions::deleteTexture ( int textureId) const
inlinenoexcept

Delete a texture previously created with createTexture.

Parameters
[in]textureIdThe id of the texture
Returns
On success, returns 0. On error, returns the error code

◆ getHighlightGroupItemIndex()

int gem::MapViewExtensions::getHighlightGroupItemIndex ( int idx,
int highlightId = 0 ) const
inlinenoexcept

Get group highlighted item index for the given highlighted item index ( in original list ).

Parameters
[in]idxThe highlighted item index in original list for which the group head is searched
[in]highlightIdThe highlight collection id ( optional )
Returns
On success, returns the group index in highlighted items original list
On error, returns the error code

◆ getLowEndCPUOptimizations()

bool gem::MapViewExtensions::getLowEndCPUOptimizations ( ) const
inlinenoexcept

Get low end CPU optimizations flag.

Returns
low end CPU optimizations flag

◆ getMarkersFromRouteGeometry()

int gem::MapViewExtensions::getMarkersFromRouteGeometry ( std::function< void(MarkerCollection, ERouteGeometryMarkerType)> collector,
const DataBuffer & data ) const
inlinenoexcept

Generate markers collection from route packed geometry.

Parameters
[in]collectorMarker collector
[in]dataRoute packed geometry
Returns
Error code

◆ getMarkersFromRouteInstructionGeometry()

std::pair< MarkerCollection, AbstractGeometryImage > gem::MapViewExtensions::getMarkersFromRouteInstructionGeometry ( const DataBuffer & data) const
inlinenoexcept

Generate marker collection from route instruction packed geometry.

Parameters
[in]dataRoute instruction packed geometry
Returns
pair MarkerCollection and AbstractGeometryImage

◆ getMarkersFromRouteTrafficGeometry()

std::pair< RouteTrafficEventList, int > gem::MapViewExtensions::getMarkersFromRouteTrafficGeometry ( std::function< void(MarkerCollection, ETrafficEventSeverity)> collector,
const DataBuffer & data ) const
inlinenoexcept

Generate markers collection from route traffic packed geometry.

Parameters
[in]collectorMarker collector
[in]dataRoute packed geometry
Returns
Error code

◆ getMaximumAllowedZoomLevel()

int gem::MapViewExtensions::getMaximumAllowedZoomLevel ( ) const
inlinenoexcept

Get the maximum allowed zoom level.

Returns
The maximum allowed zoom level

◆ getMinimumAllowedZoomLevel()

int gem::MapViewExtensions::getMinimumAllowedZoomLevel ( ) const
inlinenoexcept

Get the minimum allowed zoom level.

Returns
The minimum allowed zoom level

◆ getNavigationRouteLowRateUpdate()

bool gem::MapViewExtensions::getNavigationRouteLowRateUpdate ( ) const
inlinenoexcept

get navigation route low rate update

Deprecated
Use instead getNavigationRouteLowRateUpdate for multiple options
Returns
navigation route low rate update flag

◆ getNavigationRouteUpdateRate()

ENavigationRouteUpdateRate gem::MapViewExtensions::getNavigationRouteUpdateRate ( ) const
inlinenoexcept

get navigation route update rate

Returns
navigation route update rate

◆ getTrackedPositions()

std::pair< CoordinatesList, int > gem::MapViewExtensions::getTrackedPositions ( ) const
inlinenoexcept

Get the current tracked positions as a coordinates list.

Returns
std::pair<coords list, error>. If tracking is not started the function will return <CoordinatesList(), error::KNotFound>

◆ hasDataTransactionInProgress()

bool gem::MapViewExtensions::hasDataTransactionInProgress ( ) const
inlinenoexcept

Check if the view has data transaction with cloud service in progress.

Returns
true if data transaction is in progress, false otherwise

◆ isTrackedPositions()

bool gem::MapViewExtensions::isTrackedPositions ( ) const
inlinenoexcept

Check if tracked position is started in the map view.

Returns
true if tracked position is started, false otherwise

◆ renderTexture()

int gem::MapViewExtensions::renderTexture ( int textureId,
const Rect & place ) const
inlinenoexcept

Render bitmap in the map view.

Parameters
[in]textureIdThe texture id created with createTexture
[in]placeWhere to render
Returns
On success, returns 0. On error, returns the error code

◆ setLowEndCPUOptimizations()

MapViewExtensions & gem::MapViewExtensions::setLowEndCPUOptimizations ( bool enable)
inlinenoexcept

Enable optimizations for low end CPU.

Parameters
enableenable optimizations for low end CPU
Returns
MapViewExtensions reference

◆ setMaximumAllowedZoomLevel()

MapViewExtensions & gem::MapViewExtensions::setMaximumAllowedZoomLevel ( int zoomLevel)
inlinenoexcept

Set the maximum allowed zoom level.

Parameters
[in]zoomLevelThe maximum allowed zoom level
Returns
MapViewExtensions reference

◆ setMinimumAllowedZoomLevel()

void gem::MapViewExtensions::setMinimumAllowedZoomLevel ( int zoomLevel)
inlinenoexcept

Set the minimum allowed zoom level.

Parameters
[in]zoomLevelThe minimum allowed zoom level

◆ setNavigationRouteLowRateUpdate()

MapViewExtensions & gem::MapViewExtensions::setNavigationRouteLowRateUpdate ( bool enable)
inlinenoexcept

set navigation route low rate update

Deprecated
Use instead getNavigationRouteLowRateUpdate for multiple options
Parameters
enablenavigation route low rate update flag
Returns
MapViewExtensions reference

◆ setNavigationRouteUpdateRate()

MapViewExtensions & gem::MapViewExtensions::setNavigationRouteUpdateRate ( ENavigationRouteUpdateRate rate)
inlinenoexcept

set navigation route update rate

Parameters
rateThe update rate to be set
Returns
MapViewExtensions reference

◆ startTrackPositions()

int gem::MapViewExtensions::startTrackPositions ( int updatePositionMs,
const MarkerCollectionRenderSettings & settings,
sense::DataSourcePtr ds = {} )
inlinenoexcept

Start the sense data source improved position tracking on map by rendering a marker polyline between relevant map links points.

Parameters
[in]updatePositionMsThe tracked position collection update frequency. High frequency may decrease rendering performances on low end devices
[in]settingsThe markers collection rendering settings in the map view
[in]dsThe sense::DataSourcePtr object which positions are tracked. Default uses the PositionService current data source as input
Returns
On success, returns 0. On error, returns the error code.

◆ stopTrackPositions()

int gem::MapViewExtensions::stopTrackPositions ( )
inlinenoexcept

Stops the sense data source improved position tracking on map.

Returns
error::KNotFound if tracking is not started