Skip to content

Changelog

Bugfixes

9.9.7

Bugfixes

  • Fixed that not all buildigns were drawn.
  • Fixed a rare crash during initialization of MQTT.
  • :material-windows: Improved .NET string conversion.

9.9.6

Bugfixes

  • Fixed that route was not showing up anymore after recalculation.
  • Fixed that empty locations were posted to the GPS listener.
  • Improved overall stability of online map data.
  • Force licence update after settings were changed in the MaptripManager. General Callback is thrown after the licence was retrieved.

9.9.5

Bugfixes

  • Resolved an issue where user-defined turn restrictions were not applied consistently.
  • Fixed that polygons of ESRI Shape files could not be read.
  • Fixed that the map was freezing during detour computations that wanted to report an error.
  • Change SDK logging level from Error to Info for POIHDL onUpdateTimer.
  • Car icon becomes gray again after GPS is lost.
  • Fixed race condition when Api::sensorData has been called too early.
  • Fixed that Api::setUserDataPath returns -12/NotImplemented on windows.

9.9.4

Bugfixes

  • Fixed detour blocks being ignored on cut roads and new roads
  • Fixed FollowMe offroad at the end of the route, when Detour is used
  • Fixed length from start to new calculated position on a polyline

9.9.3

Bugfixes

  • Fixed handling of perpetual licences.
  • Fixed a memory issue in licensing.
  • Fixed mutex bugs.
  • Fixed a routing bug with street names at the start of the route.
  • Fixed a potential memory error in the logging.

9.9.2

Bugfixes

  • Fixed a bug in the licence encryption
  • Fixed that POIs without icons caused a crash.

9.9.1

Bugfixes

  • Reality View does not turn on by itself anymore when the surface is resized.
  • Fixed PoiSources such as traffic were not visible.
  • Fixed caching in rendering of polygons such as water surfaces.
  • Fixed some crashes.

9.9.0

Features

Changes to Blue light Routing

There are new possibilities to modify Blue light routing and we changed the way, how to (de)activate Blue light routing (BLR): The BLR was previously activated by setting a so called reckless radius. If the radius is zero, the BLR was deactivated. Since SDK 9.9, the BLR is not (de)activated by setting a radius. Now you can (de)activate the BLR by the new function mta_nav_activateRecklessRouting. You can check the activation with the new function mta_nav_isRecklessRoutingEnabled. If the BLR is active, the radius is used. This radius may now even be zero!

Modify the routing

Now you can modify the routing by three new settings.ini parameters in the [ROUTING] section:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
ProfileNormalRouting: Modify normal routing
ProfileBLROutside:    Modify routing outside the BLR radius
ProfileBLRInside:     Modify routing inside the BLR radius

The value for each of these parameters is a string of modifiers,
delimited by comma (,) and contains the information,
if turn restrictions should be unblocked or if one way streets are unblocked, etc.

The following modifiers are possible:
oneway:      (Un)blocks one way streets in the wrong direction
blocked:     (Un)blocks completely blocked streets (no pedestrian ways)
residential: (Un)blocks residential roads
buslanes:    (Un)blocks bus lanes
turns:       (Un)blocks turn restrictions

Each of these modifiers must be preceded by + (unblock) or - (block).

The default settings for the three parameters are:
ProfileNormalRouting=-oneway,-blocked,-residential,-buslanes,-turns
ProfileBLROutside=-oneway,+blocked,+residential,+buslanes,-turns
ProfileBLRInside=+oneway,+blocked,+residential,+buslanes,+turns

Deleted settings.ini parameters

Consequently, we have removed following parameters that are not used anymore.

1
2
3
4
5
UseLocalTurnRestrictionsNormal
UseLocalTurnRestrictionsOutOfEmergencyRadius
UseLocalTurnRestrictionsInsideEmergencyRadiusDefault
UnblockCompletelyBlockedStreets
UnblockOnewaysInEmergency
Use the new modifiers instead.

New handling for traffic events along the route

We added new precise functionalities for getting traffic events along the route. Therefore, the SDK has several new functions: mta_nav_getTrafficEvents Get all traffic events along the current route from the current position. If the current position in inside of an event, you get the full event with the complete delay and length!

mta_trf_getStartPoint

First point of this event on the route.

mta_trf_getEndPoint

Last point of this event on the route.

mta_trf_getPolyLine

Get the route part, that is affected by this event. Or @ref MTA_ERROR "MTA_ERROR_NO_ROUTE_BYPASSING_TRAFFIC_JAM", if the route has changed (by rerouting or update). Or @ref MTA_ERROR "MTA_ERROR_OBJ_NOT_FOUND", if the navigation has stopped.

mta_trf_getStreet

The Street name.

mta_trf_getRoadNumber

The Road number.

mta_trf_getCity

The City nearby this event.

mta_trf_getDistrict

The District nearby this event.

mta_trf_getDirection

The direction towards this event leads to.

mta_trf_getDescription

The description in the current language.

mta_trf_getTmcCode

The TMC code of this event.

mta_trf_getSpeed

The speed in km/h.

mta_trf_getDelay

The delay in seconds.

mta_trf_getLength

The length in meters

mta_trf_getCategory

The category of this event.

mta_trf_getDistanceToDestination

The distance from the start point of this event to the destination of the route in meters.

Miscellaneous

  • Added new ApiError enum constants (see error code) for the result of the (onboard) route calculation:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    /*##### It is not possible to calculate alternative routes
    with an active reference route */
    NO_ALTERNATIVE_ROUTES_WITH_REFERENCE_ROUTE(58),     
    /** It is not possible to calculate alternative routes
    when more then two stations are given */
    NO_ALTERNATIVE_ROUTES_WITH_MORE_THAN_TWO_STATIONS(-59),     
    /** There is no vehicle profile with the provided name */
    VEHICLE_PROFILE_NOT_AVAILABLE(-60),     
    /** A station could not be initialized,
    most likely because there is no suitable road nearby*/
    ROUTING_STATION_INITIALIZATION(-61);
    
  • Improved rendering performance of polygons such as buildings or surfaces.
  • Moved the function Selection.showSelection(Mapviewer viewer, ...) to MapViewer.showSelection(Selection sel, ...). This way it behaves more similar as the other MapViewer.show...() functions. The old function is still there but marked as deprecated and will be removed in 9.10.
  • Added a new option for mta_api_getSystemAttribute: MTA_SA_API_GET_POTS delivers the MapTrip manager pots, where the device belongs to. The value is updated every minute.
  • Better logging possibilities during map data downloads.
  • Mark constructor IwMapView(Context context, boolean doUseTextureView) as deprecated. It will be removed in 9.10. Constructor IwMapView(Context context) will now always use a Texture View instead of a Surface View. If IwMapView is included in XML View Layout, it will also use Texture View as default.
  • Increased Minimum Target OS Version for iOs to iOS 13.
  • The rendering on windows now utilizes OpenGLES as the other platforms. To achieve that we deliver libGLESv2.dll and ligEGL.dll. These have to be present next to the MapTripApi.dll or in the library search path. These libraries have a dependency to the msvcp100.dll and msvcr100.dll. If not present on your target hardware they can be acquired here.

Bugfixes

  • Fixed residential roads only being labeled as such in one driving direction during routing.
  • Fixed a bug when invalid settings were read.
  • Removed enum member MTA_ROUTING_TYPE::MTA_ROUTING_TYPE_ECO_ROUTE as it is no longer used internally.
  • Removed enum member MTA_LEZ_GERMAN_VIGNETTE_TYPE::MTA_LEZ_GERMAN_VIGNETTE_NONE as MTA_LEZ_GERMAN_VIGNETTE_GREEN was the default anyway and none is treated the same as green internally.
  • Fixed a bug where detour delays on small road segments would sometimes not entirely be included in the ETA calculation.
  • Geocoder Tasks could not be canceled. They now stop their work and the Task returns OPERATION_CANCELLED.
  • Fixed a bug where detour edits with time domains did not work.
  • Fixed a crash in the .NET wrapper when converting strings in callbacks.
  • Fixed not working links in doxygen SDK documentation.

9.8.8

Bugfixes

  • Fixed a bug where one way streets in soft restricted areas where no longer one way if the restriction was violated

9.8.7

Bugfixes

  • Fixed a routing error during truck routing with highway profile where a highway would be too preferred and no other way would be considered
  • Fixed a race condition in iOS SDK when changing the refresh rates.
  • Fixed a crash in iOS SDK when navigating.
  • Fixed a bug where a route could not be shown in certain Android Apps.
  • Fixed a crash when enabling file logging or trying to access any settings value before initializing the paths on Android.
  • Improved location handling on devices where the system incorrectly reports the Fused Location Provider as available. Now correctly accepts GPS locations even when the Fused Provider is listed as best, and avoids overwriting location accuracy.

9.8.6

Bugfixes

  • Fixed immediate crash in iOS SDK on physical devices.
  • Reworked rendering interface between Core MaptripSDK and .NET-Linux wrapper.

9.8.5

Bugfixes

  • Fixed display and warning of time restricted truck attributes.
  • only: Provided a helper function for IwMapView to replace Selection.showSelection(): iwMapView.showSelection(selection, mapViewer, doShow, fillColor, borderColor, iconFileName) It is already marked as deprecated.

9.8.4

Bugfixes

  • Fixed freeze when setting the language to english and getting a freeze for the u-turn adivce. Also fixed translation (/res/lngenglish/sounds/LngRepl.txt) to improve pronunciation when using a text-to-speech engine for this advice.

9.8.3

Bugfixes

  • Fixed crash during POI search along route with corrupt dynamic POI data.

9.8.2

  • internal release only

9.8.1

Bugfixes

Fixed performance problems, when the SDK is running for many hours.

9.8.0

Features

Changes to C# Wrapper
  • Added a new build configuration that uses the C# Wrapper and runs on Linux.
  • C# Wrapper is now being built with .NET 8
  • .NET Version used in the C# Examples was raised from 6 to 8.

Resources

mapservices.xml
  • Changed color for 'interstate_labelsOutline' and 'expressway_labelsOutline', because now they are realy used in the layers 'expressway_labels', 'expressway_ov_labels', 'interstate_labels' and 'interstate_ov_labels'. Bevore this version, the blue and yellow color for the labels was hard coded!

    1
    2
    3
    4
    ...
    <COLORTYPE name="interstate_labelsOutline" color="#FFFF00FF"/>
    <COLORTYPE name="expressway_labelsOutline" color="#0000FFFF"/>
    ...
    

  • Changed label sizes of places, interstate and express ways for Android:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    ...
    <PLATFORM name="ANDROID">
      ...
      <FONT id="expressway_font" name="Helvetica" heightMM="3.0" />
      <FONT id="interstate_font" name="Helvetica" heightMM="2.5" />
      <FONT id="interstate_name_font" name="Helvetica" outline="2" heightMM="2.0" />
      <FONT id="expresswayintersections_font" name="Helvetica" outline="3" heightMM="3.0" />
      <FONT id="capital_font" name="Helvetica" outline="2" heightMM="3.0" />
      <FONT id="metropolis_font" name="Helvetica" outline="2" heightMM="3.0" />
      <FONT id="largecities1_font" name="Helvetica" outline="2" heightMM="2.5" />
      <FONT id="largecities2_font" name="Helvetica" outline="2" heightMM="2.5" />
      <FONT id="cities_font" name="Helvetica" outline="3" heightMM="2.2" />
      <FONT id="settlement_font" name="Helvetica" outline="3" heightMM="2.0" />
      <FONT id="othersettlement_font" name="Helvetica" outline="3" heightMM="2.0" />
      ...
    </PLATFORM>
    ...
    

Bugfixes

  • Fixed calls to the SDK logging functions with percent characters.
  • Fixed the handling of special characters in the settingsfile.

Info

Android only: As of MapTrip SDK 9.9, the minimum Android API level 21 (Android 5) will be required.

9.7.4

Bugfixes

  • Fixed rare online geocoding crash

9.7.3

Bugfixes

  • Fixed unblocking one way street for prioritization, if the prioritization shall be made in both directions
  • Fixed ignored explicitly set new speed with delay
  • Fixed not reseting to old speeds, if prioritization is deleted

9.7.2

Bugfixes

  • Fixed potential deadlock during detour file reading

9.7.1

Bugfixes

  • Fixed a bug with parsing HTTP responses on Linux.
  • Fixed a bug in string formatting on Linux/Android/iOS.
  • If a new Mapviewer is created after reference route was started the following sub routes are now displayed correctly.

9.7.0

Features

  • FollowMe: When driving a FollowMe Route the intersection arrows did overlay and hide the colors of the underlying road. The arrows are now shifted to the side to reveal the underlying color.
  • New function set for geofencing: You can add geofences to the SDK. It is a location (defined by WGS84 coordinates) and a radius. If the current location of the device reaches this geofence, the SDK can do something special, that is defined by the function of this fence. Currently there is only one function supported: "Adjust GPS Angle": For this function you can specify an angle, that will be used instead of the angle, that is calculated by previous positions. As long as your location is inside the geofence, this angle is used for map rotation and for route calculation. The new functions are:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    mta_gfc_getGeoFenceIterator
    mta_gfc_addFence
    mta_gfc_removeAt
    mta_gfc_removeAll
    mta_gfc_getName
    mta_gfc_setName
    mta_gfc_setPosition
    mta_gfc_setWgs84Position
    mta_gfc_getPosition
    mta_gfc_getWgs84Position
    mta_gfc_setRadiusMeters
    mta_gfc_getRadiusMeters
    mta_gfc_setAngle
    mta_gfc_getAngle
    mta_gfc_getFunctionType
    mta_gfc_setFunctionType
    

  • Set explicit speed by Detour: You can set an explicit speed to a street segment in the Detour editor. Additionally, you can set a delay in seconds. The SDK highlights this segment and adds an icon for the new speed in the middle of this segment and optionally adds icons at the start and/or end of this segment with the delay. Therefore, the following files were added or modified:

    1
    2
    3
    4
    res/openlrPointslayout.xml (modified)
    res/openlrlayout.xml (modified)
    res/poi_icons/olr_Delay.png (added)
    res/poi_icons/olr_Speed.png (added)
    

Bugfixes

  • Upload of empty FollowMe routes Empty FollowMe routes were not deleted from the followMeRoutes\Upload folder. Also fixed in 9.6.

9.6.6

Bugfixes

  • Fixed shifted route arrows.

9.6.5

Bugfixes

  • Fixed dashed localroads for OSM.

9.6.4

Bugfixes

  • Fixed a bug, where the route was drawn in the wrong color.
  • Fixed a bug, where straight lines where drawn across the screen.
  • Fixed missing resource files for Android.
  • Fixed that the wrong mapservices.xml was packaged for the Windows .NET SDK.
  • Dashed lines now look the same on Windows and mobile platform.

9.6.3

Features

  • Pedestrian ways are now drawn in a dashed style.
  • The last (and first) segment of a route that show the air-line between the geo position and the closest point on the route are now drawn as a dashed curve. This is enabled and can be configured in mapservices.xml
  • The usage of pedestrian ways for route calculation can now be disabled in the settings.ini. Currently only used by onboard routing
    1
    2
    [ROUTING]
    UsePedestrianWays=0 // default is 1 (true)
    

Resources

mapservices.xml
  • Changed for dashed pedestrian ways.
  • Added changes for dashed dotted line segment on the route
    1
    2
    3
    4
    5
    ...
    <COLORTYPE name="undrivablePath" color="#5668f5FF" />
    ...
    <ROAD zIndex="5160" contentName="route" [....] undrivablePathLineStyle="dashed,2,1" undrivablePathColorName="undrivablePath"/>
    ...
    

Bugfixes

  • Fixed a crash that occured during route computation.
  • Fixed unblocking of one way streets in the wrong way, if a directed priority was set by detour. If the priority was set for both directions, the one way will still be unblocked in both directions.
  • Fixed route calculation for Windows SDK (Thread synchronisation).

9.6.2

Bugfixes

  • Maximum axle count Truck Restrictions are now shown correctly in the MapViewer. (Mapservices.xml has to be updated for this)
  • SDK does not crash anymore when the detour file gets changed during runtime.
  • Detour changes which expire past the 20th of January 2038 are now shown correctly in the MapViewer
  • Persistent Detour data is now shown after the app was started.
  • Fixed that sometimes detour changes were not taken into account when an online route was calculated.
  • Fixed various crashes related to asynchronous data access.

  • Activated loading persisted olr data for the SDK.

  • Fixed time handling for times after the year 2038.
  • Fixed crash after changing the current detour file.

9.6.1

Bugfixes

  • Reverted changes for depth search with too low "upper bound speeds" as it lead to tremendously increased route calculation times that consequently lead to bad routes.

9.6.0

Features

  • New function Api::useMapData Activates or deactivates the usage of the map data. This is useful, if you like to exchange the map data during runtime. If the usage is deactivated, a current route guidance will be stopped and ALL references to SDK objects, except for Mapviewers , e.g. navigation, itineraries, waypoints or iterators are invalid! Calling methods on these object will result in the errorcode ApiError.INVALID_OBJECT Also if the SDK is re-initialized all existing object references will return ApiError.MTA_ERROR_INVALID_OBJECT on called member methods. Please re-initialize all static variables and class members.

  • New functions for Itineraries and Waypoints Setting and getting of name and ID attributes for itineraries and ID attributes for waypoints. These are all string parameters and can be set if the user requires them for reference purposes. They have no other internal functionalities.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    // new Itinerary functions
    val itinerary = Itinerary()
    // set:
    itinerary.id = "123"
    itinerary.name = "monday"
    //get:
    val id = itinerary.id
    val name = itinerary.name
    
    // new Waypoint functions
    val waypoint = Waypoint()
    // get:
    waypoint.id = "99"
    // set:
    val waypointId = waypoint.id
    

  • User attribute names of waypoints are handeled case insensitive. If the waypoint has an attribute with name "TelNumber", you can get it (with Waypoint::getUserAttribute) by the name "TELNUMBER", too.

  • Improved mapmatching: The map matching algorithm was improved by combining GPS and sensory input. The combination results in more robust and faster reroutings. Therefore, you should use the new function Api::sensorData, to provide raw acceleration data and game rotation vector (without magnetic field correction). But even if you do not provide sensor data to the SDK, the matching is improved. The MapTrip Android SDK already handles this out-of-the-box.

  • Improved Detour handling: The new geometry, that was provided by the Server does sometimes not fit to the local map data of the client. Now, the client/SDK adds the new geometry and splits original streets by itself. This reduces conflicts tremendously. Known conflicts were unexpected gaps in the street network and unexpected onboard routing problems.

  • Disable local truck attributes: Truck attributes can be disabled as settings.ini parameter

    1
    2
    [ROUTING]
    UseLocalTruckAttributes=0 // default is 1 (true)
    
    The usage of truck attributes for weight, length, width, etc. may be switched off. Consequently, only the truck attributes of Detour edits are used. The disabled truck attributes are not displayed in the map either. Only the pure truck locks (from the map data RS column) will continue to be displayed and used, when the user has selected TRUCK as the vehicle type.

  • Default overloads: With the default overloads, street attributes of the local map material can be overloaded. You can specify the column name and the new value in the settings.ini in the new section DEFAULT_OVERLOADS. ALL roads then have this value in the corresponding column. The attributes of the Detour edits are not affected by this overloads. Examples:

    1
    2
    3
    4
    5
    [DEFAULT_OVERLOADS]
    **TA=**
    *The truck attributes will not be used.*
    **MANEUVER=**
    *No turn restriction will be used.*
    

  • Long distance advises Reduced number of long distance advises that occur when you do not have to make a maneuver for a long time. Modified resource file: AdviceIntervals.xml

  • POI visibilities POI display handling was enhanced when the application was started for the first time.

  • Truck attributes for new streets Removed copy of hard restricted truck attributes for new streets.

  • Detour shapes are displayed in every mapviewer Modified resource file: openlrlayout.xml and openlrPointslayout.xml

  • Empty FollowMe routes FollowMeInfo::listRoutes does not return empty files anymore.

  • Allow residential streets by settings.ini Disable "avoid residential streets" by settings.ini parameter in section ROUTING: AVOID_RESIDENT=false. The default is true.

  • Push Service for faster updates of Detour and FollowMe files or Remote Messages.

  • Privacy Manifest and Code Signing The XCFramework of our MapTrip iOS SDK now includes a privacy manifest and is signed.

  • MapTrip Windows SDK x64 We are happy to finally provide our MapTrip Windows SDK as x64 Build in addition to our x32 Build.

Bugfixes

  • Onboard route driving time Fixed driving time of onboard route, when entering a residential area.

  • FollowMe me route files with unicode characters in the name Fixed handling of FollowMe route files with Unicode characters in the name.

9.5.5

Bugfixes

  • Improved calculation of estimated journey duration: Penalties for turning left or right that were previously only applied to the time estimation of a fastest route now also apply when calculating the time estimation for a shortest route.

9.5.4

Bugfixes

  • Previously, soft restriction penalties were applied whenever an edge associated with them was crossed. We have now updated this behavior to align with how we treat residential areas. Consequently, penalties will be applied when entering soft restricted zones but will no longer be enforced when exclusively traveling within them.
  • Copy only soft restricted truck attributes for new streets and copy all for dissected streets
  • Avoid utilizing the dissected and divided Streets and deleted original server entries in Detour
  • Disable local truck attributes and speed profiles by settings.ini parameter: [ROUTING] UseLocalTruckAttributes=false
  • Disable speed profiles by settings.ini parameter [ROUTING] UseStatisticalTrafficData=false
  • Fixed usage of Detour blocked streets in emergency routing
  • Detour lines and points always visible in all mapviewers. It is configured only by updating following resources:
    • res/openlrPointslayout.xml
    • res/openlrlayout.xml
  • Fixed multi threaded access to memory reader of Detour shapes
  • Fixed handling with invalid hybrid files, e.g. house numbers
  • The final station can be a via point in an itinerary
  • Improved Route Calculation: Previously, when calculating the shortest route, only road type-dependent speeds were considered for journey time estimation, leading to discrepancies with the fastest route. Now, when statistical traffic data is available, it is utilized for both shortest and fastest route calculations, ensuring more accurate journey time predictions.
  • Fixed routing drive time, when entering a residential road

QuickUI

  • Fixed TTS Output

9.5.3

Bugfixes

  • Fixed road segments with violated truck attributes not used for onboard routing
  • Fixed occasional memory errors while accessing live trafic data
  • Corrected display of error messages during truck routing when trying to route into a restricted area
  • Corrected routing costs on blocked destination segment, try to take the shorter part
  • Fixed usage of deleted streets with emergency routing

9.5.2

Bugfixes

  • Fixed elevations of dissected and divided streets
  • Do not block truck restrictions with time domain if no time is set during routing graph initialization
  • Fixed elevation issues with new geometries
  • Fixed not working one-way blockage visualization in mapviewer
  • Fixed Detour route through closured road after deleting prioritization that previously opened the road
  • Fixed wrong location matching towards the navigation destination with limited positioning

  • Prevent cases where the last known device location was not considered

9.5.1

  • No SDK related changes

9.5.0

Features

  • Changed callback destinationInfoReceived: The third value has now the average seconds to the destination. The old value "energy to destination" was just a proportional value to "meters to destination" with no vehicle and no route specific influence. The average drive time in seconds to the destination without traffic is only different to secondsToDestination, if the navigation uses an online route with traffic information.

  • Displaying or hiding Truck-Soft-Restrictions: The new function map::showExtendedSoftVehicleAttributes lets you display or hide truck soft restrictions You can also check, if these attributes are visible with the also new function map::extendedSoftVehicleAttributesAreVisible.

  • Display residential roads: For a better map display, the residential roads are drawn a bit thinner than other roads.

  • Display of Multiple truck restrictions: Multiple truck restrictions on a single street segment are displayed separately, no combination to a single icon with the text "nx".

  • Display underground streets: Streets that lie below other streets in the underground are now also drawn below the other streets. Bridges are not drawn over other streets.

  • Display more street names: Improved collision detection of labels, resulting in more displayed street names.

  • Emergency routing - Unblocking of blocked roads: Emergency routing now uses all blocked roads outside of emergency radius that are not oneway, except for highways, ferrys, walkways, garages and stairs.

  • Emergency routing: - Does not avoid residential roads or roads with soft restrictions

Detour

  • Editor: Emergency routing validity: The Detour editor now supports setting the validity of an Detour edit for emergency routing. By setting the validity of a Detour edit, the user can define if the record is valid/invalid for emergency routing in general and for emergency routing within the emergency radius.

  • Editor: Separate streets: The Detour editor now supports separating streets into smaller segments. In this way, parts of a road can be modified (e.g. closed).

  • Avoid and prefer new geometry for routing: The SDK supports avoiding and prefering new streets for route calculation.

  • Add turn restrictions: In addition to deleting turn restrictions, some can now also be added.

Bugfixes

  • Fixed route calculation when the destination is in a blocked area with emergency routing enabled
  • Fixed function getCurrentlyVisibleCategory that has not listed the User POI. Modified file res/mmUserPois_template.xml.
  • Fixed possible bad routes when start/destination is a highway rest stop.
  • Fixed possible selection of truck stops on wrong side of highway. Available with new map data.
  • If a street is prefered by a Detour edit, it will be unblocked automatically.
  • Placeholder-Data: Fixed blocked loading of data in main thread.
  • C-Runtime: Check, if decimal delimiter has changed to comma instead of point.
  • Open-GL: Adjusted far plane for a higher camera position.
  • Block next meters on Route is now more precise in dense street network.
  • Fixed simulation on route, if a rerouting is triggered.
  • Fixed dutch sound output with prerecorded files
  • FollowMe: Supressed uploading of empty GPS files.
  • FollowMe: Fixed orphaned bubles at the end of the route, if the route enda with a new collect event.
  • only: Fixed rare cases where instances of IwMapView were not registered to the IwMapViewManager.
  • only: Fixed ignoring location update every 5 seconds on some devices

Resources

  • Car icon files (CarIcon_3d.png, CarIcon_3d_grey.png): If you use your own vehicle symbol, please check if it is displayed correctly. You may need to adjust your 3D version of that file.
  • mapservices.xml (for Truck-Soft-Restrictions, residential roads, underground streets, night mode)
  • New icons for Truck-(Soft)-Restrictions: TruckRestr.png, TruckRestrSoft.png, TruckMulti.png, TruckHeight.png, TruckHeightSoft.png, TruckWidth.png, TruckWidthSoft.png, TruckLength.png, TruckLengthSoft.png, TruckAxleWeight.png, TruckAxleWeight.png, TruckWeight.png, TruckWeightSoft.png, TruckExlosive.png, TruckExlosiveSoft.png, TruckWaterPolluting.png, TruckWaterPollutingSoft.png, TruckHazMat.png, TruckHazMatSoft.png
  • Modified mmUserPois_template.xml
  • For dutch sound output with prerecorded files: res/lngnetherlands/LngRepl.txt, res/lngnetherlands/kms+.ogg, res/lngnetherlands/kms.ogg
  • Removed icons: sperrung.png, multi.png, hoehe.png, breite.png, laenge.png, achsgewicht.png, gewicht.png, explosive_ladung.png, wassergefaehrdend.png, gefaehrliche_gueter.png
  • only: Updated sky_night.png for night mode map visualisation

QuickUI

Features

With the QuickUIOptions class you are now able to set these new parameters for the QuickUI:

  • House numbers can now be toggled on or off with the showHouseNumbers method

  • Truck soft restrictions can be toggled on or off with the showTruckSoftRestrictions method

Here is an example of all the above mentioned features enabled in the QuickUIOptions builder in the MainActivity.

1
2
3
4
val options = QuickUiOptions.Builder()
    .showHouseNumbers(true)
    .showTruckSoftRestrictions(true)
    .build()

Bugfixes

  • Fixed an issue where the meter display was not updating frequently enough, skipping over too many meters.

9.4.1

10.11.2022

Detour

  • Fixed route calculation issues when updating the device's map data.

  • Fixed an issue where the route could not be calculated when starting on a drawn street without a street from the original map data closeby.

9.4.0

14.10.2022

Common Changes

  • Displaying house numbers: The SDK can now display house numbers out-of-the-box based on the geocoder data as a layer. You can toggle the visibility via:
1
mapviewer.showLayer("mmHouseNumber", true) // or false
  • Set multiple listeners: You can now set multiple listeners to most of our classes, e.g. for the Navigation class:
1
2
3
4
5
Navigation::addNavigationListener(listener : NavigationListener)

Navigation::removeNavigationListener(listener : NavigationListener)

Navigation::removeAllNavigationListeners()
  • Callback for DayNightMode: When setting your Mapviewer to use DayNightMode.AUTOMATIC_DAY_NIGHT_MODE they SDK automatically switches to DayNightMode.DAY_MODE or DayNightMode.NIGHT_MODE when required. If it is the case, you will now be notified when implementing the ApiListener.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
val apiListener = object: ApiListener {

override  fun general(type: GeneralCallbackType?,

p1 : String?,

p2 : Double): Int {

when(type) {

GeneralCallbackType.NIGHT_MODE -> Set your UI to dark mode

GeneralCallbackType.DAY_MODE -> Set your UI to day mode

else -> {}

}

return  0

}



override  fun mapContent(p0: MutableIterable < MapContent > ? ) {

// Not needed yet

}



}

Api.addApiListener(apiListener)
  • Displaying Text Labels for POI: When displaying POI as Waypoint in the map, you can now add text labels. It is now possible to display waypoints as Icon+Label, Icon only or Text Label only. You can also choose between following icon alignments: TopLeft, TopCenter, TopRight, CenterLeft, Center, CenterRight, BottomLeft, BottomCenter, BottomRight.

Default is BottomCenter.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
val wpt = Waypoint()

val pos = Position(795000, 6568820) // Mercator coordinates

wpt.setPosition(pos)

wpt.setPoiIcon("icon.png")

wpt.setUserAttribute("PoiText", "Text") // Display "Text" as label

wpt.setUserAttribute("iconAlignment", "CenterRight"); // sets the iconAlignment

mapviewer.showWaypoint(wpt, true)
  • Improved traffic flow display: The amount of red (slow) traffic flow lines has been reduced when displaying the traffic flow in order to have little clutter in the map.

  • Turn restrictions: Do not display disabled turn restrictions anymore.

  • New Settings.ini Parameters:

1
2
3
[MAPVIEWER]

DoAnimation=1

By setting it to 0, the mapviewer will just jump to the current location instead of animating it.

1
2
3
[MAPVIEWER]

MaximalAnimationDist=200

This parameter provides a distance in meters at what gap between two new locations in locationtracking mode the mapviewer will not animate and simply jump to the new position.

Changes to Runtime data:

  • Color.xml is now obsolete and was removed per default. You can still override values from mapservices.xml with it.

  • mapservices.xml was changed to offer house number displaying and small appearance fixes.

  • res/poi_icons FollowMe icons were updated, e.g. gps_none.png etc.

  • res/Pois.xml was changed for improved poi handling.

  • res/mmUserPois_template.xml was introduced to enable displaying text labels for POI.

Android only

  • Improved handling of runtime data: Starting with MapTrip SDK version 9.4.0 we are happy to provide a helping mechanism. Just wrap your runtime data from the SDK's delivery package external_storage folder excluding the map data (data) in a file called res.zip and place it in your App's assets folder.

The MapTrip SDK will then care for extracting the data to your device upon initializing. If newer SDK versions require changed runtime data you will just need to replace your res.zip file.

More information is available at our Add a map guide.

  • Changes to directory names: We updated the namings of some folders to unify it with out MapTrip Android App. Please verify that you set the correct paths in ApiHelper.initPaths() or rename them according to your current implementation.

  • ressources → res

  • mapdata → data.

QuickUI

  • First Release with core functionality, check QuickUI for more details.