Completely offline C++ based solution kit to extend existing product with E-Mobility features. We are providing mapping, routing and navigation solutions with more than 15 years of E-Bike navigation software experience. Detailed customizable maps, including large list of POIs, optimal route detection, precise turn-by-turn navigation, and much more.

SDK Functions

bool  GTSDKInitEngine (const wchar_t* uniqueID, const wchar_t* sdkKey, const wchar_t* dataPath)
  Inits the map engine. This function has to be called first.
 
int  GTSDKUpdateMap (const unsigned char *buffer, int bufferSize, int pixelFormat, int width, int height)
  Draws the map to the buffer. It runs only max 50 millisecond at a time. If the draw is not finished it continues next time. Using this behavior it can run in onDraw function, and if returns true you can call postInvalidate() function to continue drawing next time.
 
int  GTSDKZoomMap (double factor)
  Zooms the map with a factor.
 
int  GTSDKZoomMapToScreenPosition (double factor, double x, double y)
  Zooms the map with a factor, taking zooming focus the x,y screen coordinates.
 
void  GTSDKMoveMap (double xOffset, double yOffset)
  Pans the map.
 
bool  GTSDKStartRoutePlan (double latStart, double lonStart, double latEnd, double lonEnd, int vehicleType, int routeplanMode, int majorRoadWeight, int unpavedRoadWeight, int cycleRoadWeight, int ferriesWeight, bool useOnewayStreetsBothDirections, int bearing)
  Sets up route planner with given parameters.
 
void  GTSDKScreenToMap (double x, double y, double &lat, double &lon)
  Converts screen coordinate to geo position.
 
void  GTSDKMapToScreen (double lat, double lon, double &x, double &y)
  Converts geo position to screen coordinate.
 
bool  GTSDKUpdateRoutePlan (int timeOut, double &progress, int &routeId)
  Runs route planning for a given milliseconds.
 
int  GTSDKAddressSearchGetCountryCount ()
  Returns the number of countries for address search.
 
wchar_t*  GTSDKAddressSearchGetCountryName (int idx)
  Returns the name of the country.
 
void  GTSDKAddressSearchSelectCountry (const wchar_t* name)
  Selects a country for further searching.
 
wchar_t*  GTSDKAddressSearchFilterCity (const wchar_t* filter, int &count)
  Filters the results of cities.
 
int  GTSDKAddressSearchGetCityCount (const wchar_t* filter)
  Prepares a result list of cities matching the filter.
 
wchar_t*  GTSDKAddressSearchGetCityName (int idx)
  Returns a city name in the result list.
 
void  GTSDKAddressSearchSelectCity (const wchar_t* name)
  Selects a city for further searching.
 
wchar_t*  GTSDKAddressSearchFilterStreet (const wchar_t* filter, int &count)
  Filters the results of streets.
 
int  GTSDKAddressSearchGetStreetCount (const wchar_t* filter)
  Prepares a result list of streets matching the filter.
 
wchar_t*  GTSDKAddressSearchGetStreetName (int idx)
  Returns a city name in the result list.
 
void  GTSDKAddressSearchSelectStreet (const wchar_t* name)
  Selects a street for further searching.
 
int  GTSDKAddressSearchGetHouseNumberCount ()
  Returns the housenumber count of selected street.
 
wchar_t*  GTSDKAddressSearchGetHouseNumber (int houseNumberIdx)
  Returns a house number.
 
bool  GTSDKAddressSearchGetLatLonForHouseNumberIdx (int houseNumberIdx, double &lat, double &lon)
  Returns the coordinate of selected house number.
 
wchar_t*  GTSDKPOISearch (double lat, double lon, const wchar_t* filter, int typeFilter, int &poiCount)
  Search POIs near to given coordinate.
 
wchar_t*  GTSDKGetPOINameByIdx (int idx)
  Returns a POI name in the result list.
 
wchar_t*  GTSDKGetPOIDetailsByIdx (int idx, int &type, double &lat, double &lon)
  Returns details of a POI.
 
bool  GTSDKHasEngineNotification ()
  Query the engine if there is a notification.
 
void  GTSDKGetEngineNotification (int &notificationType, int &notificationInfo)
  Gets the top engine notification.
 
double  GTSDKStartNavigation (int routeId, int red, int green, int blue, int redOutline, int greenOutline, int blueOutline, int redOutlineBorder, int greenOutlineBorder, int blueOutlineBorder)
  Starts the navigation.
 
void  GTSDKStopNavigation ()
  Stops the navigation.
 
wchar_t*  GTSDKGetTurnInfo ()
  Returns the info of the next turn in XML format.
 
void  GTSDKUpdateGPSData (float direction, double lat, double lon, float alt, float speed, int year, int month, int day, int hour, int minute, int second)
  updates engine with a new gps position and data
 
void  GTSDKSetFollowMode (bool followMode)
  Sets the follow mode to track the gps cursor.
 
void  GTSDKAddRouteToMap (int routeId, int red, int green, int blue, int redOutline, int greenOutline, int blueOutline, int redOutlineBorder, int greenOutlineBorder, int blueOutlineBorder)
  Adds a route to the map to display.
 
void  GTSDKRemoveRouteFromMap (int routeId)
  Removes a route from the map.
 
void  GTSDKDeleteRoute (int routeId)
  Deletes a route.
 
void  GTSDKSetMapColor (int type, int red, int green, int blue, int redOutline, int greenOutline, int blueOutline)
  Sets the color of a map feature.
 
void  GTSDKInitEBike (int vendorId, int bikeId, double batteryCapacity, double batteryVoltage, double bikeWeight, int minAssistLevel, int maxAssistLevel, int currentAssistLevel, double currentBatteryLevel)
  Inits E-Bike data.
 
void  GTSDKUpdateEBikeData (int type, double value)
  Update E-Bike actual data.
 
void  GTSDKDisplayRangeOnMap (bool display, int red1, int green1, int blue1, int red2, int green2, int blue2, int red3, int green3, int blue3, int redOutline, int greenOutline, int blueOutline)
  Display range patch on map range stripes ( 50-75%, 75-90%, 90-100% )
 
void  GTSDKSetRangeCenter (double lat, double lon)
  Sets the range dislpay center to a map position, and recalculates it.
 
void  GTSDKSetMapCenter (double lat, double lon)
  Sets the map center to a position.
 
void  GTSDKSetZoomLevel (double zoomLevel)
  Sets the actual zoom level ( levels are from 1 to 15 )
 
double  GTSDKGetZoomLevel ()
  Gets the actual zoom level ( levels are from 1 to 15 )
 

Member Typedef Documentation

wchar_t* GTSDKAddressSearchFilterCity (const wchar_t* filter, int &count)

Filters the results of cities.

Parameters
filter Sets the filter of the cities
count Out parameter count of the results.
Returns
String of the next characters you can enter.
wchar_t* GTSDKAddressSearchFilterStreet (const wchar_t* filter, int &count)

Filters the results of streets.

Parameters
filter Sets the filter of the streets
count Out parameter count of the results.
Returns
wchar_t* List of the next characters you can enter.
int GTSDKAddressSearchGetCityCount (const wchar_t* filter)

Prepares a result list of cities matching the filter.

Parameters
filter Sets the filter of the cities
Returns
Size of the city result list
wchar_t* GTSDKAddressSearchGetCityName (int idx)

Returns a city name in the result list.

Parameters
idx Index of the city name
Returns
Name of the city
int GTSDKAddressSearchGetCountryCount ()

Returns the number of countries for address search.

Returns
Number of countries for address search.
wchar_t* GTSDKAddressSearchGetCountryName (int idx)

Returns the name of the country.

Parameters
idx Index of the country
Returns
Name of the country
wchar_t* GTSDKAddressSearchGetHouseNumber (int houseNumberIdx)

Returns a house number.

Parameters
houseNumberIdx Index of the housenumber in the list. This list contains a Street Center too.
Returns
House number as a wchar_t*.
int GTSDKAddressSearchGetHouseNumberCount ()

Returns the housenumber count of selected street.

Returns
The count of housenumbers.
bool GTSDKAddressSearchGetLatLonForHouseNumberIdx (int houseNumberIdx, double &lat, double &lon)

Returns the coordinate of selected house number.

Parameters
houseNumberIdx Index of the housenumber in the list
lat out parameter latitude of the geo position of house number of the street.
lon out parameter longitude of the geo position of house number of the street.
Returns
House number as a wchar_t*.
int GTSDKAddressSearchGetStreetCount (const wchar_t* filter)

Prepares a result list of streets matching the filter.

Parameters
filter Sets the filter of the streets
Returns
Size of the street result list
wchar_t* GTSDKAddressSearchGetStreetName (int idx)

Returns a city name in the result list.

Parameters
idx Index of the city name
Returns
Name of the city
void GTSDKAddressSearchSelectCity (const wchar_t* name)

Selects a city for further searching.

Parameters
name Name of the city
Returns
Void.
void GTSDKAddressSearchSelectCountry (const wchar_t* name)

Selects a country for further searching.

Parameters
name Name of the country
Returns
Void.
void GTSDKAddressSearchSelectStreet (const wchar_t* name)

Selects a street for further searching.

Parameters
name Name of the street
Returns
Void.
void GTSDKAddRouteToMap (int routeId, int red, int green, int blue, int redOutline, int greenOutline, int blueOutline, int redOutlineBorder, int greenOutlineBorder, int blueOutlineBorder)

Adds a route to the map to display.

Parameters
routeId id of the route
red red channel of the inner color of the route
green green channel of the inner color of the route
blue blue channel of the inner color of the route
redOutline red channel of the outline color of the route
greenOutline green channel of the outline color of the route
blueOutline blue channel of the outline color of the route
redOutlineBorder red channel of the outlineborder color of the route
greenOutlineBorder green channel of the outlineborder color of the route
blueOutlineBorder blue channel of the outlineborder color of the route
Returns
void
void GTSDKDeleteRoute (int routeId)

Deletes a route.

Parameters
routeId id of the route to delete
Returns
void
void GTSDKDisplayRangeOnMap (bool display, int red1, int green1, int blue1, int red2, int green2, int blue2, int red3, int green3, int blue3, int redOutline, int greenOutline, int blueOutline)

Display range patch on map range stripes ( 50-75%, 75-90%, 90-100% )

Parameters
display to display or not the range on map
red1 red channel of the inner color of the range stripe 1
green1 green channel of the inner color of the range stripe 1
blue1 blue channel of the inner color of the the range stripe 1
red2 red channel of the inner color of the range stripe 2
green2 green channel of the inner color of the range stripe 2
blue2 blue channel of the inner color of the the range stripe 2
red3 red channel of the inner color of the range stripe 3
green3 green channel of the inner color of the range stripe 3
blue3 blue channel of the inner color of the the range stripe 3
redOutline red channel of the inner color of the range outline
greenOutline green channel of the inner color of the range outline
blueOutline blue channel of the inner color of the the range outline
Returns
void
void GTSDKGetEngineNotification (int &notificationType, int &notificationInfo)

Gets the top engine notification.

Parameters
notificationType out parameter type of the notification. See EngineNotificationType.
notificationInfo out parameter longitude of the geo position of house number of the street.
Returns
void
wchar_t* GTSDKGetPOIDetailsByIdx (int idx, int &type, double &lat, double &lon)

Returns details of a POI.

Parameters
idx Index of the POI
type out parameter type of POI.
lat out parameter latitude of the geo position of house number of the street.
lon out parameter longitude of the geo position of house number of the street.
Returns
Description XML of the POI
wchar_t* GTSDKGetPOINameByIdx (int idx)

Returns a POI name in the result list.

Parameters
idx Index of the POI
Returns
Name of the POI
wchar_t* GTSDKGetTurnInfo ()

Returns the info of the next turn in XML format.

Returns
wchar_t* info of the next turn in XML format
double GTSDKGetZoomLevel ()

Gets the actual zoom level ( levels are from 1 to 15 )

Returns
actual zoom level
bool GTSDKHasEngineNotification ()

Query the engine if there is a notification.

Returns
bool true if there is a notification.
void GTSDKInitEBike (int vendorId, int bikeId, double batteryCapacity, double batteryVoltage, double bikeWeight, int minAssistLevel, int maxAssistLevel, int currentAssistLevel, double currentBatteryLevel)

Inits E-Bike data.

Parameters
vendorId id of the manufacturer
bikeId id if the E-Bike
batteryCapacity in Ah
batteryVoltage in V
bikeWeight in kg
minAssistLevel minimum assist level
maxAssistLevel maximum assist level
currentAssistLevel current Assist Level
currentBatteryLevel current SOC
Returns
void
bool GTSDKInitEngine (const wchar_t* uniqueID, const wchar_t* sdkKey, const wchar_t* dataPath)

Inits the map engine. This function has to be called first.

Parameters
uniqueID Device unique ID.
sdkKey The license key you can use the SDK with.
dataPath Path of the mapengine resource and map files.
Returns
true if engine init was successful, false if something went wrong
void GTSDKMapToScreen (double lat, double lon, double &x, double &y)

Converts geo position to screen coordinate.

Parameters
lat Latitude of the geo position
lon Longitude of the geo position
x Out parameter X pixel coordinate of point.
y Out parameter Y pixel coordinate of point.
Returns
void.
void GTSDKMoveMap (double xOffset, double yOffset)

Pans the map.

Parameters
xOffset Pixel x offset of panning.
yOffset Pixel y offset of panning.
Returns
void.
wchar_t* GTSDKPOISearch (double lat, double lon, const wchar_t* filter, int typeFilter, int &poiCount)

Search POIs near to given coordinate.

Parameters
lat Latitude of the geo position
lon Longitude of the geo position
filter Filter for results.
typeFilter Type filter of results. Set -1 to search for all. To filter to specific types set this to a POICategory.
poiCount Out parameter count of the results.
Returns
House number as a wchar_t*.
void GTSDKRemoveRouteFromMap (int routeId)

Removes a route from the map.

Parameters
routeId id of the route
Returns
void
void GTSDKScreenToMap (double x, double y, double &lat, double &lon)

Converts screen coordinate to geo position.

Parameters
x X pixel coordinate of point
y Y pixel coordinate of point
lat out parameter latitude of the geo position.
lon out parameter longitude of the geo position.
Returns
void.
void GTSDKSetFollowMode (bool followMode)

Sets the follow mode to track the gps cursor.

Parameters
direction current direction of vehicle ( north 0 degrees, west 90 degrees etc. )
lat of gps coordinate
lon of gps coordinate
alt gps altitude
speed gps speed
year of gps timestamp
month of gps timestamp
day of gps timestamp
hour of gps timestamp
minute of gps timestamp
second of gps timestamp
Returns
void
void GTSDKSetMapCenter (double lat, double lon)

Sets the map center to a position.

Parameters
display to display or not the range on map
lat Latitude of the geo position
lon Longitude of the geo position
Returns
void
void GTSDKSetMapColor (int type, int red, int green, int blue, int redOutline, int greenOutline, int blueOutline)

Sets the color of a map feature.

Parameters
type of the map feature. See MapColorType.
red red channel of the inner color of the map feature
green green channel of the inner color of the map feature
blue blue channel of the inner color of the map feature
redOutline red channel of the outline color of the map feature
greenOutline green channel of the outline color of the map feature
blueOutline blue channel of the outline color of the map feature
Returns
void
void GTSDKSetRangeCenter (double lat, double lon)

Sets the range dislpay center to a map position, and recalculates it.

Parameters
display to display or not the range on map
lat Latitude of the geo position
lon Longitude of the geo position
Returns
void
void GTSDKSetZoomLevel (double zoomLevel)

Sets the actual zoom level ( levels are from 1 to 15 )

Parameters
zoomLevel
Returns
void
double* GTSDKStartNavigation (int routeId, int red, int green, int blue, int redOutline, int greenOutline, int blueOutline, int redOutlineBorder, int greenOutlineBorder, int blueOutlineBorder)

Starts the navigation.

Parameters
routeId id of the route the navigation will start on
red red channel of the inner color of the navigation route
green green channel of the inner color of the navigation route
blue blue channel of the inner color of the navigation route
redOutline red channel of the outline color of the navigation route
greenOutline green channel of the outline color of the navigation route
blueOutline blue channel of the outline color of the navigation route
redOutlineBorder red channel of the outlineborder color of the navigation route
greenOutlineBorder green channel of the outlineborder color of the navigation route
blueOutlineBorder blue channel of the outlineborder color of the navigation route
Returns
void
bool GTSDKStartRoutePlan (double latStart, double lonStart, double latEnd, double lonEnd, int vehicleType, int routeplanMode, int majorRoadWeight, int unpavedRoadWeight, int cycleRoadWeight, int ferriesWeight, bool useOnewayStreetsBothDirections, int bearing)

Sets up route planner with given parameters.

Parameters
buffer Byte buffer where the map will be copied to
latStart latitude of start point
lonStart longitude of start point
latEnd latitude of end point
lonEnd longitude of end point
vehicleType Vehicle type like VEHICLETYPE_BICYCLE, VEHICLETYPE_MTB, VEHICLETYPE_SPEED, VEHICLETYPE_PEDESTRIAN
routeplanMode Route plan mode like ROUTEPLANMODE_SUGGESTED, ROUTEPLANMODE_EASIEST, ROUTEPLANMODE_SHORTEST
majorRoadWeight Major road weight like ROADTYPEWEIGHT_TRYTOAVOID, ROADTYPEWEIGHT_ALLOW, ROADTYPEWEIGHT_PREFER
unpavedRoadWeight Unpaved road weight like ROADTYPEWEIGHT_TRYTOAVOID, ROADTYPEWEIGHT_ALLOW, ROADTYPEWEIGHT_PREFER
cycleRoadWeight Cycle road weight like ROADTYPEWEIGHT_TRYTOAVOID, ROADTYPEWEIGHT_ALLOW, ROADTYPEWEIGHT_PREFER
ferriesWeight Ferries weight like ROADTYPEWEIGHT_TRYTOAVOID, ROADTYPEWEIGHT_ALLOW, ROADTYPEWEIGHT_PREFER
useOnewayStreetsBothDirections If true route planner will ignore one way restriction in low level road classes
bearing The angle of the user from north. If this is not zero route planner will plan a route using your direction and tries to plan route straight.
Returns
true if parameters are ok false if there was an error
void GTSDKStopNavigation ()

Stops the navigation.

Returns
void
void GTSDKUpdateEBikeData (int type, double value)

Update E-Bike actual data.

Parameters
type of the map feature. See EBikeDataType.
value of the given data.
Returns
void
void GTSDKUpdateGPSData (float direction, double lat, double lon, float alt, float speed, int year, int month, int day, int hour, int minute, int second)

updates engine with a new gps position and data

Parameters
direction current direction of vehicle ( north 0 degrees, west 90 degrees etc. )
lat of gps coordinate
lon of gps coordinate
alt gps altitude
speed gps speed
year of gps timestamp
month of gps timestamp
day of gps timestamp
hour of gps timestamp
minute of gps timestamp
second of gps timestamp
Returns
void
int GTSDKUpdateMap (const unsigned char *buffer, int bufferSize, int pixelFormat, int width, int height)

Draws the map to the buffer. It runs only max 50 millisecond at a time. If the draw is not finished it continues next time. Using this behavior it can run in onDraw function, and if returns true you can call postInvalidate() function to continue drawing next time.

Parameters
buffer byte buffer wher the map will be copied to
bufferSize size of the buffer
pixelFormat PIXELFORMAT_RGB565 = 0, PIXELFORMAT_RGB888 = 1
width Pixel width of the map
height Pixel height of the map
Returns
true if more draw time needed.
bool GTSDKUpdateRoutePlan (int timeOut, double &progress, int &routeId)

Runs route planning for a given milliseconds.

Parameters
timeOut Running time in milliseconds. If timeout occurs it pauses route planning and continues next updateRoutePlan call.
progress Out parameter percent of route planning progress.
routeId Id of the planned route. If planning is not finished or failed, result is -1
Returns
true if route planning still has to run.
int GTSDKZoomMap (double factor)

Zooms the map with a factor.

Parameters
factor The factor of zooming, e.g. 2 is zoom out one level and 0.5 is zoom in one level.
Returns
true if zoom limit is reached.
int GTSDKZoomMapToScreenPosition (double factor, double x, double y)

Zooms the map with a factor, taking zooming focus the x,y screen coordinates.

Parameters
factor The factor of zooming, e.g. 2 is zoom out one level and 0.5 is zoom in one level.
x X screen position of zooming focus point.
y Y screen position of zooming focus point.
Returns
true if zoom limit is reached.